濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > MySql索引使用策略分析

MySql索引使用策略分析

熱門(mén)標(biāo)簽:日照旅游地圖標(biāo)注 湖南人工外呼系統(tǒng)多少錢(qián) 信陽(yáng)穩(wěn)定外呼系統(tǒng)運(yùn)營(yíng)商 申請(qǐng)外呼電話(huà)線(xiàn)路 百度地圖圖標(biāo)標(biāo)注中心 石家莊電商外呼系統(tǒng) 南通自動(dòng)外呼系統(tǒng)軟件 廣東人工電話(huà)機(jī)器人 芒果電話(huà)機(jī)器人自動(dòng)化

MySql索引

索引優(yōu)點(diǎn)

1.可以通過(guò)建立唯一索引或者主鍵索引,保證數(shù)據(jù)的唯一性.
2.提高檢索的數(shù)據(jù)性能
3.在表連接的連接條件 可以加速表與表直接的相連 
4.建立索引,在查詢(xún)中使用索引 可以提高性能

索引缺點(diǎn)

1.在創(chuàng)建索引和維護(hù)索引 會(huì)耗費(fèi)時(shí)間,隨著數(shù)據(jù)量的增加而增加
2.索引文件會(huì)占用物理空間,除了數(shù)據(jù)表需要占用物理空間之外,每一個(gè)索引還會(huì)占用一定的物理空間
3.當(dāng)對(duì)表的數(shù)據(jù)進(jìn)行 INSERT,UPDATE,DELETE 的時(shí)候,索引也要?jiǎng)討B(tài)的維護(hù),這樣就會(huì)降低數(shù)據(jù)的維護(hù)速度,

(建立索引會(huì)占用磁盤(pán)空間的索引文件。一般情況這個(gè)問(wèn)題不太嚴(yán)重,但如果你在一個(gè)大表上創(chuàng)建了多種組合索引,索引文件的會(huì)膨脹很快)。

使用索引需要注意的地方

1.在經(jīng)常需要搜索的列上,可以加快索引的速度
2.主鍵列上可以確保列的唯一性
3.在表與表的而連接條件上加上索引,可以加快連接查詢(xún)的速度
4.在經(jīng)常需要排序(order by),分組(group by)和的distinct 列上加索引 可以加快排序查詢(xún)的時(shí)間,  (單獨(dú)order by 用不了索引,索引考慮加where 或加limit)
5.在一些where 之后的 = > >= BETWEEN IN 以及某個(gè)情況下的like 建立字段的索引(B-TREE)

6.like語(yǔ)句的 如果你對(duì)nickname字段建立了一個(gè)索引.當(dāng)查詢(xún)的時(shí)候的語(yǔ)句是 nickname lick '%ABC%' 那么這個(gè)索引講不會(huì)起到作用.而nickname lick 'ABC%' 那么將可以用到索引

7.索引不會(huì)包含NULL列,如果列中包含NULL值都將不會(huì)被包含在索引中,復(fù)合索引中如果有一列含有NULL值那么這個(gè)組合索引都將失效,一般需要給默認(rèn)值0或者 ' '字符串

8.使用短索引,如果你的一個(gè)字段是Char(32)或者int(32),在創(chuàng)建索引的時(shí)候指定前綴長(zhǎng)度 比如前10個(gè)字符 (前提是多數(shù)值是唯一的..)那么短索引可以提高查詢(xún)速度,并且可以減少磁盤(pán)的空間,也可以減少I(mǎi)/0操作.

9.不要在列上進(jìn)行運(yùn)算,這樣會(huì)使得mysql索引失效,也會(huì)進(jìn)行全表掃描

10.選擇越小的數(shù)據(jù)類(lèi)型越好,因?yàn)橥ǔT叫〉臄?shù)據(jù)類(lèi)型通常在磁盤(pán),內(nèi)存,cpu,緩存中 占用的空間很少,處理起來(lái)更快

什么情況下不創(chuàng)建索引

1.查詢(xún)中很少使用到的列 不應(yīng)該創(chuàng)建索引,如果建立了索引然而還會(huì)降低mysql的性能和增大了空間需求.
2.很少數(shù)據(jù)的列也不應(yīng)該建立索引,比如 一個(gè)性別字段 0或者1,在查詢(xún)中,結(jié)果集的數(shù)據(jù)占了表中數(shù)據(jù)行的比例比較大,mysql需要掃描的行數(shù)很多,增加索引,并不能提高效率
3.定義為text和image和bit數(shù)據(jù)類(lèi)型的列不應(yīng)該增加索引,
4.當(dāng)表的修改(UPDATE,INSERT,DELETE)操作遠(yuǎn)遠(yuǎn)大于檢索(SELECT)操作時(shí)不應(yīng)該創(chuàng)建索引,這兩個(gè)操作是互斥的關(guān)系

以上就是MySql索引使用策略分析的詳細(xì)內(nèi)容,更多關(guān)于MySQL 索引的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • MySQL學(xué)習(xí)教程之聚簇索引
  • MySQL8.0中的降序索引
  • MySQL 8.0 之索引跳躍掃描(Index Skip Scan)
  • MySQL索引失效的幾種情況匯總
  • 詳解MySQL 聚簇索引與非聚簇索引
  • MySQL btree索引與hash索引區(qū)別
  • MySQL 函數(shù)索引的優(yōu)化方案
  • 導(dǎo)致MySQL索引失效的一些常見(jiàn)寫(xiě)法總結(jié)
  • MySQL索引的各種類(lèi)型

標(biāo)簽:牡丹江 天津 惠州 呼和浩特 沈陽(yáng) 公主嶺 阿里 合肥

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySql索引使用策略分析》,本文關(guān)鍵詞  MySql,索引,使用,策略,分析,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySql索引使用策略分析》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于MySql索引使用策略分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    湖州市| 股票| 南涧| 丹阳市| 大同县| 抚宁县| 苗栗县| 桑日县| 百色市| 揭阳市| 尼木县| 翁源县| 任丘市| 蒲江县| 子长县| 随州市| 清涧县| 彰武县| 章丘市| 泰宁县| 泌阳县| 津市市| 靖西县| 从化市| 新野县| 吴江市| 容城县| 高碑店市| 勐海县| 临夏县| 铜鼓县| 滨海县| 牟定县| 连云港市| 绥德县| 常州市| 济阳县| 宕昌县| 广汉市| 资兴市| 苏州市|