日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql中建立索引的原则_在SQL数据库中设定索引的原则是什么?(注意是设定不是创建)...

發布時間:2024/10/8 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql中建立索引的原则_在SQL数据库中设定索引的原则是什么?(注意是设定不是创建)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

其實索引的好壞還和你的查詢語句有關系,就是where后邊的列有關.如果兩者協調不好的話,同樣應用索引也得不到什么好處.下邊的文章希望對你有益:

索引的設計

A:盡量避免表掃描檢查你的查詢語句的where子句,因為這是優化器重要關注的地方。包含在where里面的每一列(column)都是可能的侯選索引,為能達到最優的性能,考慮在下面給出的例子:對于在where子句中給出了column1這個列。下面的兩個條件可以提高索引的優化查詢性能!第一:在表中的column1列上有一個單索引第二:在表中有多索引,但是column1是第一個索引的列避免定義多索引而column1是第二個或后面的索引,這樣的索引不能優化服務器性能例如:下面的例子用了pubs數據庫。

SELECT au_id, au_lname, au_fname FROM authors

WHERE au_lname = 'White'按下面幾個列上建立的索引將會是對優化器有用的索引

au_lname

au_lname, au_fname而在下面幾個列上建立的索引將不會對優化器起到好的作用

au_address

au_fname, au_lname考慮使用窄的索引在一個或兩個列上,窄索引比多索引和復合索引更能有效。用窄的索引,在每一頁上將會有更多的行和更少的索引級別(相對與多索引和復合索引而言),這將推進系統性能。對于多列索引,SQL Server維持一個在所有列的索引上的密度統計(用于聯合)和在第一個索引上的

histogram(柱狀圖)統計。根據統計結果,如果在復合索引上的第一個索引很少被選擇使用,那么優化器對很多查詢請求將不會使用索引。有用的索引會提高select語句的性能,包括insert,uodate,delete。但是,由于改變一個表的內容,將會影響索引。每一個insert,update,delete語句將會使性能下降一些。實驗表明,不要在一個單表上用大量的索引,不要在共享的列上(指在多表中用了參考約束)使用重疊的索引。在某一列上檢查唯一的數據的個數,比較它與表中數據的行數做一個比較。這就是數據的選擇性,這比較結果將會幫助你決定是否將某一列作為侯選的索引列,如果需要,建哪一種索引。你可以用下面的查詢語句返回某一列的不同值的數目。

select count(distinct cloumn_name) from table_name假設column_name是一個10000行的表,則看column_name返回值來決定是否應該使用,及應該使用什么索引。

Unique values Index

5000 Nonclustered index

20 Clustered index

3 No index

鏃索引和非鏃索引的選擇

<1:>鏃索引是行的物理順序和索引的順序是一致的。頁級,低層等索引的各個級別上都包含實際的數據頁。一個表只能是有一個鏃索引。由于update,delete語句要求相對多一些的讀操作,因此鏃索引常常能加速這樣的操作。在至少有一個索引的表中,你應該有一個鏃索引。在下面的幾個情況下,你可以考慮用鏃索引:例如:某列包括的不同值的個數是有限的(但是不是極少的)顧客表的州名列有50個左右的不同州名的縮寫值,可以使用鏃索引。例如:對返回一定范圍內值的列可以使用鏃索引,比如用between,>,>=,

select * from sales where ord_date between ?/1/93' and ?/1/93'例如:對查詢時返回大量結果的列可以使用鏃索引。

SELECT * FROM phonebook WHERE last_name = 'Smith'

當有大量的行正在被插入表中時,要避免在本表一個自然增長(例如,identity列)的列上建立鏃索引。如果你建立了鏃的索引,那么insert的性能就會大大降低。因為每一個插入的行必須到表的最后,表的最后一個數據頁。當一個數據正在被插入(這時這個數據頁是被鎖定的),所有的其他插入行必須等待直到當前的插入已經結束。一個索引的葉級頁中包括實際的數據頁,并且在硬盤上的數據頁的次序是跟鏃索引的邏輯次序一樣的。

<2:>一個非鏃的索引就是行的物理次序與索引的次序是不同的。一個非鏃索引的葉級包含了指向行數據頁的指針。在一個表中可以有多個非鏃索引,你可以在以下幾個情況下考慮使用非鏃索引。在有很多不同值的列上可以考慮使用非鏃索引例如:一個part_id列在一個part表中select * from employee where emp_id = 'pcm9809f'查詢語句中用order by子句的列上可以考慮使用鏃索引

三、查詢語句的設計

SQL Server優化器通過分析查詢語句,自動對查詢進行優化并決定最有效的執行方案。優化器分析查詢語句來決定那個子句可以被優化,并針對可以被優化查詢的子句來選擇有用的索引。最后優化器比較所有可能的執行方案并選擇最有效的一個方案出來。在執行一個查詢時,用一個where子句來限制必須處理的行數,除非完全需要,否則應該避免在一個表中無限制地讀并處理所有的行。例如下面的例子,select qty from sales where stor_id=7131是很有效的比下面這個無限制的查詢select qty from sales避免給客戶的最后數據選擇返回大量的結果集。允許SQL Server運行滿足它目的的函數限制結果集的大小是更有效的。這能減少網絡I/O并能提高多用戶的相關并發時的應用程序性能。因為優化器關注的焦點就是where子句的查詢,以利用有用的索引。在表中的每一個索引都可能成為包括在where子句中的侯選索引。為了最好的性能可以遵照下面的用于一個給定列column1的索引。第一:在表中的column1列上有一個單索引第二:在表中有多索引,但是column1是第一個索引的列不要在where子句中使用沒有column1列索引的查詢語句,并避免在where子句用一個多索引的非第一個索引的索引。這時多索引是沒有用的。

For example, given a multicolumn index on the au_lname, au_fname columns of the authors table in

the pubs database,下面這個query語句利用了au_lname上的索引

SELECT au_id, au_lname, au_fname FROM authors

WHERE au_lname = 'White'

AND au_fname = 'Johnson'

SELECT au_id, au_lname, au_fname FROM authors

WHERE au_lname = 'White'下面這個查詢沒有利用索引,因為他使用了多索引的非第一個索引的索引

SELECT au_id, au_lname, au_fname FROM authors

WHERE au_fname = 'Johnson'

取消

評論

總結

以上是生活随笔為你收集整理的mysql中建立索引的原则_在SQL数据库中设定索引的原则是什么?(注意是设定不是创建)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人小视频在线 | av在线不卡一区 | 91丨porny丨成人蝌蚪 | 国产卡一卡二卡三无线乱码新区 | 亚洲欧美第一 | 免费无码一区二区三区 | 亚洲中文字幕一区在线 | 天天躁日日摸久久久精品 | 成人性生交大全免 | 一级淫片免费 | 青青青免费视频观看在线 | 亚洲女人初尝黑人巨大 | 你懂的网站在线 | aaa毛片视频 | 国产噜噜噜噜噜久久久久久久久 | 国产极品美女高潮无套嗷嗷叫酒店 | 久久高清免费 | 人妻熟女一区二区aⅴ水 | 91久久精品一区二区三区 | 国产综合色视频 | 99精品一级欧美片免费播放 | 天堂网8 | 国产精品扒开腿做爽爽爽男男 | 台湾佬美性中文娱乐 | 91免费观看入口 | 麻豆成人免费 | 欧美特黄一区二区三区 | 毛片网站免费在线观看 | 日韩中文字幕在线免费观看 | 69视频一区二区 | av福利片 | 黑鬼大战白妞高潮喷白浆 | 国产精品扒开做爽爽爽的视频 | 欧美日韩一区二区在线 | 99ri国产在线 | xx性欧美肥妇精品久久久久久 | 中出亚洲 | 91色在线| 日本韩国在线播放 | 日本免费小视频 | yes4444视频在线观看 | 在线观看色 | 丁香六月激情 | av高清不卡 | 蜜桃视频久久一区免费观看入口 | 91精品国产色综合久久不卡电影 | 成年人视频在线免费看 | 色狠狠综合 | 成人无码av片在线观看 | av美女在线 | 在线aaa| 日韩精品aaa| av在线伊人 | 草草草在线 | 男生操女生网站 | 色婷婷综合激情 | 成人在线播放av | 亚洲欧美999 | 特大黑人巨交吊性xxxx视频 | 草草影院一区二区三区 | 黄色69| 中国美女黄色 | 在线观看免费高清在线观看 | 911香蕉| 国产综合精品视频 | 欧美日b片 | 欧美日韩中文字幕在线观看 | 免费中文字幕 | 日本在线视频免费观看 | 最污网站在线观看 | 网站黄色在线观看 | 色噜噜狠狠一区二区三区 | 亚洲第一淫片 | 国产精品久久久一区二区 | 午夜青青草 | 永久免费未满蜜桃 | 日韩制服诱惑 | 精品中文字幕av | 国产精品久草 | 日韩亚洲精品中文字幕 | 日韩国产一区 | 欧美123区 | 成年人看的黄色片 | av操操操| av一二三四 | 四虎影院色| jizz国产精品| 日韩三级一区二区三区 | 国产最新精品视频 | 日本熟妇一区二区 | 色成人免费网站 | www.欧美| 精品一区二区在线看 | 绿帽av| 妺妺窝人体色www聚色窝仙踪 | 操xxxx| 亚洲人成人网 | 吊侵犯の奶水授乳羞羞漫画 | 亚洲精品成a人 |