mysql建立索引面試題 MySQL索引 面試題

2021-10-19 19:13:12 字數 1776 閱讀 8484

1、索引可以加快資料檢索操作,但會使資料修改操作變慢。每修改資料記錄,索引就必須重新整理一次。為了在某種程式上彌補這一缺陷,許 多sql命令都有乙個delay_key_write項。這個選項的作用是暫時制止mysql在該命令每插入一條新記錄和每修改一條現有之後立刻對索引進 行重新整理,對索引的重新整理將等到全部記錄插入/修改完畢之後再進行。在需要把許多新記錄插入某個資料表的場合,delay_key_write選項的作用將非 常明顯。另外,索引還會在硬碟上占用相當大的空間。因此應該只為最經常查詢和最經常排序的資料列建立索引。注意,如果某個資料列包含許多重複的內 容,為它建立索引就沒有太大的實際效果。

2、mysql索引的特點:提高查詢速度、索引不會包含有null值的列

3、索引包括普通索引、唯一索引、主鍵索引、組合索引。沒有外來鍵索引這個說法。

4、在取值重複率比較高的列上,適合建立位圖索引,位圖索引適合於低基數情況。

5、有關mysql索引描述中,innodb儲存引擎並不支援全文索引。

6、mysql資料庫中建立索引的常用規則:1、表的主鍵、外來鍵必須有索引,2、經常與其他表進行連線的表,在連線欄位上應該建立索引,3、索引應該建在小字段上,對於大的文字字段甚至超長字段,不要建索引,4、索引應該建在選擇性高的字段上。

7、索引可以加快資料庫的檢索速度,降低了資料表資料的維護任務效能。

唯一索引:與"普通索引"類似,不同的就是:索引列的值必須唯一,但允許有空值。

主鍵索引:它 是一種特殊的唯一索引,不允許有空值。

全文索引:僅可用於 myisam 表,針對較大的資料,生成全文索引很耗時好空間。

8、建立索引使用create index關鍵字,優點是使得查詢指定列更加高效。

9、mysql的索引包括:普通索引、全文索引(fulltext) 、唯一索引、單列索引、多列索引、組合索引等。

10、所有的索引都不是必須的,where和order by子句中經常使用的字段都應該新增索引,字段內容經常變化的列新增索引反而降低效能。

11、mysql刪除索引的語句:drop index indexname

12、位圖索引是oracle中的索引分類,在mysql中並不存在。

索引分為兩類,聚合索引和非聚合索引,

運算元據時,增刪改操作都會先將索引移除再運算元據

查詢語句一次只會使用乙個索引,

索引查詢時不會將null值包含再內

13、索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可以有多個單列索引,但這不是組合索引。

14、索引可以增加、刪除,但是沒有修改操作。

引用索引的優點有:

保證資料庫表中每一行資料的唯一性。

可以加快資料的檢索速度,這也是建立索引的最主要的原因。

可以加速表和表之間的連線,特別是在實現資料的參考完整性方面特別有意義。

在使用分組和排序 子句進行資料檢索時,同樣可以顯著減少查詢中分組和排序的時間。

通過使用索引,可以在查詢的過程中,使用優化隱藏器,提高系統的效能。

1)不要有超過5個以上的表連線(join)

2)考慮使用臨時表或表變數存放中間結果。

3)少用子查詢

4)檢視巢狀不要過深,一般檢視巢狀不要超過2個為宜。

以上是mysql索引優化的原則。

15、索引可以提高查詢效率,可以避免進行全表的資料掃瞄。

1.雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對表進行insert、update和delete。因為更新表時,mysql不僅要儲存資料,還要儲存一下索引檔案。

2.建立索引會占用磁碟空間的索引檔案一般情況這個問題不太嚴重,但如果你在乙個大表上建立了多種組合索引,索引檔案的會膨脹很快。

MySQL索引相關面試題

相信很多人對於mysql的索引都不陌生,索引 index 是幫助mysql高效獲取資料的資料結構。因為索引是mysql中比較重點的知識,相信很多人都有一定的了解,尤其是在面試 現的頻率特別高。樓主自認為自己對mysql的索引相關知識有很多了解,而且因為最近在找工作面試,所以單獨複習了很多關於索引的知...

mysql索引相關面試題

1 儲存引擎主要有 1.myisam 2.innodb,3.memory,4.archive,5.federated 預設為 innodb 引擎。innodb 底層儲存結構為 b 樹,b 樹的每個節點對應 innodb 的乙個 page,page 大小是固定的,一般設為 16k 2 使用場景?1 經...

MySQL面試題 索引設計和建立的原則

對於經常查詢的字段,建議建立索引 索引不是越多越好,乙個表如果有大量的索引,不僅占用磁碟空間,而且對於寫操作會造成效能底下 避免對經常更新的表進行建立過多的索引,因為當表中有資料更改時,索引也會進行調整和更新,十分消耗系統資源 數量小的表建議不要建立索引,資料量小時索引不僅起不到明顯的優化效果,對於...