索引是對數據庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問數據庫表中的特定信息。
數據庫索引好比是一本書前面的目錄,能加快數據庫的查詢速度。
例如這樣一個查詢:select * from table1 where id=44。如果沒有索引,必須遍歷整個表,直到ID等於44的這一行被找到爲止;有了索引之後(必須是在ID這一列上建立的索引),直接在索引裏面找44(也就是在ID這一列找),就可以得知這一行的位置,也就是找到了這一行。可見,索引是用來定位的。索引分爲聚簇索引和非聚簇索引兩種,聚簇索引 是按照數據存放的物理位置爲順序的,而非聚簇索引就不一樣了;聚簇索引能提高多行檢索的速度,而非聚簇索引對於單行的檢索很快。
MySQL數據庫:
1、什麼情況下 可以將數據庫連接 外連接可以轉換成內連接?
2、爲什麼優化器嘗試 將 外連接 轉換成 內連接,爲什麼這麼做?
3、
SQL優化內容包括:SQL知識 、 數據庫原理 、 數據庫設計 、 數據庫源碼
4、
MySQL數據庫源碼有100多萬行,數據庫優化器 部分大概有30萬行代碼。
5、
常見的SQL使用不當的例子:
未建立合理索引
複合索引使用不當
未在索引中完成排序
函數索引使用問題
鎖優化不當
WHERE條件問題
未在索引中完成排序
沒有正確數據庫HINT
未使用綁定變量
表過大
與數據庫的交互次數過多