A. 如何優化sql語句,怎麼加索引
1、主鍵就是聚集索引2、只要建立索引就能顯著提高查詢速度3、把所有需要提高查詢速度的欄位都加進聚集索引,以提高查詢速度(四)其他書上沒有的索引使用經驗總結1、用聚合索引比用不是聚合索引的主鍵速度快2、用聚合索引比用一般的主鍵作orderby時速度快,特別是在小數據量情況下3、使用聚合索引內的時間段,搜索時間會按數據占整個數據表的百分比成比例減少,而無論聚合索引使用了多少個4、日期列不會因為有分秒的輸入而減慢查詢速度(五)其他注意事項1.不要索引常用的小型表2.不要把社會保障號碼(SSN)或身份證號碼(ID)選作鍵3.不要用用戶的鍵4.不要索引memo/notes欄位和不要索引大型文本欄位(許多字元)5.使用系統生成的主鍵二、改善SQL語句1、Like語句是否屬於SARG取決於所使用的通配符的類型2、or會引起全表掃描3、非操作符、函數引起的不滿足SARG形式的語句4、IN的作用相當與OR5、盡量少用NOT6、exists和in的執行效率是一樣的7、用函數charindex()和前面加通配符%的LIKE執行效率一樣8、union並不絕對比or的執行效率高9、欄位提取要按照「需多少、提多少」的原則,避免「select*」10、count(*)不比count(欄位)慢11、orderby按聚集索引列排序效率最高12、高效的TOP
B. 如何用SQL語句給表裡加主鍵加索引
create
table
(
id
int
identity(1,
1)
not
null
primary
key,
other_column
varchar(50)
)
--
對表設置主鍵的同時,資料庫會自動的創建一個以主鍵作為名稱的唯一索引的。
C. SQL server 2005 如何創建索引
打開SQL
SERVER
2005管理器,登陸後,打開你的資料庫
然後依次選擇你要建立索引的表,點開'+'會出現列
索引等欄位
在索引上面單擊右鍵選擇新建索引就可以了.
D. sqlserver中如何創建索引
CREATE INDEX
為給定表或視圖創建索引。
只有表或視圖的所有者才能為表創建索引。表或視圖的所有者可以隨時創建索引,無論表中是否有數據。可以通過指定限定的資料庫名稱,為另一個資料庫中的表或視圖創建索引。
一般選擇變化較少的列創建索引
語法
CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEXindex_name
ON{table|view}(column[ASC|DESC][,...n])
[WITH<index_option>[,...n]]
[ONfilegroup]
<index_option>::=
{PAD_INDEX|
FILLFACTOR=fillfactor|
IGNORE_DUP_KEY|
DROP_EXISTING|
STATISTICS_NORECOMPUTE|
SORT_IN_TEMPDB
}
--這是基本語法,建立索引,只針對查詢和一些更新和刪除的速度,像性別一列,如果表裡面有1000行,如果只有1行是男,這樣用索引的話肯定高,如果有990行是男,那麼它不如直接掃描了,這是選擇性
E. SQL server中 表中如何創建索引
if exists(select *from sys.objects where naem = 'newindex')
drop index newindex
create index
--===================================
竟然沒有懸賞...唉...
那算了吧
我還是都告訴你吧..
看個示例
自己琢磨去:
--==============================================
use master
go
if db_id(N'zhangxu')is not null
drop database zhangxu
go
create database zhangxu
sp_helpdb zhangxu
use zhangxu
go
IF EXISTS (SELECT *FROM SYS.OBJECTS WHERE NAME = N'WORKER')
DROP TABLE WORKER
GO
create table worker
(
w_id int identity (1000,1) not null,
w_name Nvarchar(10) unique,
w_age SMALLINT CONSTRAINT CK_W_AGE CHECK(w_age>20 and w_age<150),
w_pay money DEFAULT 0,
CONSTRAINT PK_W_ID PRIMARY KEY(W_ID)
)
SELECT *FROM WORKER--用查詢技術查看錶信息
sp_help worker--利用存儲過程查看錶信息
/*
創建簡單的非聚集索引
*/
USE ZHANGXU
GO
if exists(select name from sys.indexes where name = N'IX_ID_NAME')
DROP INDEX IX_ID_NAME on worker
go--檢查是否存在索引,有則刪除索引
create index IX_ID_NAME--創建索引
on worker(w_id,w_name)--在ID NAME 兩個欄位上創建非聚集索引
drop index worker.IX_ID_NAME--刪除索引
select *from sys.indexes where name = 'IX_ID_NAME'--查看索引
/*
創建唯一非聚集索引
*/
USE ZHANGXU
GO
IF EXISTS(SELECT NAME FROM SYS.INDEXES WHERE NAME = N'IX_W_NAME')
DROP INDEX IX_W_NAME ON WORKER
GO
CREATE UNIQUE INDEX IX_W_NAME--唯一非聚集索引
ON WORKER(W_NAME)
/*
查看索引T-SQL腳本
*/
--IX_W_NAME 唯一 非聚集索引
USE [zhangxu]
GO
/****** 對象: Index [IX_W_NAME] 腳本日期: 07/29/2007 16:54:53 ******/
CREATE UNIQUE NONCLUSTERED INDEX [IX_W_NAME] ON [dbo].[worker]
(
[w_name] ASC
)
WITH
(
SORT_IN_TEMPDB = OFF,
DROP_EXISTING = OFF,
IGNORE_DUP_KEY = OFF,
ONLINE = OFF
)
ON [PRIMARY]
--PK_W_ID聚集索引
USE [zhangxu]
GO
/****** 對象: Index [PK_W_ID] 腳本日期: 07/29/2007 16:56:45 ******/
ALTER TABLE [dbo].[worker]
ADD CONSTRAINT [PK_W_ID] PRIMARY KEY CLUSTERED
(
[w_id] ASC
)
WITH
(
SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF,
ONLINE = OFF
) ON [PRIMARY]
--UQ_WORKER 唯一,非聚集索引
USE [zhangxu]
GO
/****** 對象: Index [UQ__worker__07020F21] 腳本日期: 07/29/2007 16:58:38 ******/
ALTER TABLE [dbo].[worker]
ADD UNIQUE NONCLUSTERED
(
[w_name] ASC
)
WITH
(SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF,
ONLINE = OFF
) ON [PRIMARY]
select *from worker
insert into worker(w_name,w_age,w_pay) values('王國龍',25,4500)
F. sqlserver2014創建索引和刪除索引的方法
在使用sql
server資料庫系統的網友們都知道,一個好的資料庫系統裡面如果缺少索引,那麼這個資料庫就不算是一個完整的資料庫系統,因為資料庫系統是用來存放數據的,索引就像標簽一樣,用戶通過索引可以快速的找到自己想要的東西。接下來小編要講的兩個問題是,第一sql
server2014怎麼創建索引第二個是sqlserver2014刪除索引的方法。
sql
server2014怎麼創建索引:
ALTER
TABLE
`table_name`
ADD
INDEX
index_name
(
`column`
)
1、下面演示下user表的name欄位添加一個索引
2、主鍵索引
添加PRIMARY
KEY
ALTER
TABLE
`table_name`
ADD
PRIMARY
KEY
(
`column`
)
3、唯一索引
添加UNIQUE
ALTER
TABLE
`table_name`
ADD
UNIQUE
(
`column`
)
4、全文索引
添加FULLTEXT
ALTER
TABLE
`table_name`
ADD
FULLTEXT
(
`column`)
5、如何添加多列索引
ALTER
TABLE
`table_name`
ADD
INDEX
index_name
(
`column1`,
`column2`,
`column3`
)
sqlserver2014刪除索引方法:
可利用ALTER
TABLE或DROP
INDEX語句來刪除索引。類似於CREATE
INDEX語句,DROP
INDEX可以在ALTER
TABLE內部作為一條語句處理,語法如下。
DROP
INDEX
index_name
ON
talbe_name
ALTER
TABLE
table_name
DROP
INDEX
index_name
ALTER
TABLE
table_name
DROP
PRIMARY
KEY
其中,前兩條語句是等價的,刪除掉table_name中的索引index_name。
第3條語句只在刪除PRIMARY
KEY索引時使用,因為一個表只可能有一個PRIMARY
KEY索引,因此不需要指定索引名。如果沒有創建PRIMARY
KEY索引,但表具有一個或多個UNIQUE索引,則MySQL將刪除第一個UNIQUE索引。
如果從表中刪除了某列,則索引會受到影響。對於多列組合的索引,如果刪除其中的某列,則該列也會從索引中刪除。如果刪除組成索引的所有列,則整個索引將被刪除。
總結:如果有網友在用sql資料庫系統時,遇到索引之類的問題可以查看小編的教程希望可以給網友們提供有效幫助哈哈!!
G. sql資料庫欄位怎麼加全文索引
對表設置全文索引應用如下步驟:
1.選擇要建立全文索引的表,然後選擇: Full-Text Index Table ->Define Full-Text Indexing on a table
2.系統會啟動SQL Server Full-Text Index 向導。
3.選擇一個唯一索引。
4.選擇一個要建立索引的欄位。
5.選擇catalog。
6.選擇更新索引計劃(由於全文索引和普通索引表不同,不能自動更新,所以得加入一個計劃
)。
7.Finish。
8.選擇在資料庫Full-text catalogs中里的新建立的catalog,然後運行Start Population,Full Population 就可以了。
H. sql server 如何創建索引和查詢索引
是創建主鍵索引吧。
用企業管理器建立:在你已經建立好的表上點擊右鍵--》設計表--》點一下工具欄上有閃電的圖標(管理索引/鍵)
用查詢分析器建立:create
nonclustered
index
索引名稱
on
表名
(
要索引的列名
)
on
[primary]
I. SQL表欄位如何建立索引難道就是添加SQL查詢語句
1、創建測試表,
create table test_index(id varchar2(20), v_date date);
J. sql server索引怎麼用
1、打開 SQL Server Management Studio並連接到資料庫引擎資料庫。
2、在「對象資源管理器」窗格中展開「資料庫」節點。再打開「資料庫」節點下的「表」節點,再展開dbo.格式的表。
3、右擊「索引」選項,在彈出的快捷菜單中選擇「新建索引」命令。
4、在打開的「新建索引」對話框中,設置索引的名稱,索引類型為「聚集」, 然後單擊「添加」按鈕。
5、在打開的 「從dbo.表 中選擇列」 對話框中選擇要添加到索引鍵的表列。 然後點擊「確定」按鈕。
6、選擇索引鍵後的「新建索引」對話框中,設置索引列的排序為「升序/降序」,設置完成後,單擊「新建索引」對話框的「確定」按鈕,這樣就為表創建了索引。