什么是聚集索引(聚簇索引)?什么是二級索引(非聚簇索引)?
聚集索引就是葉子節點關聯行數據的索引,二級索引就是葉子節點關聯主鍵的索引,聚集索引必須有且僅有一個,二級索引可以有多個
聚集索引選取規則是先主鍵再唯一最后可以自動生成一個隱藏的。
什么是覆蓋索引?
覆蓋索引查詢使用了索引并且需要返回的列在該索引中全部能夠找到
超大分頁處理
正常mysql使用limit時會先把數據讀出然后排序再取出要的那些數據
select * from user limit 9000000,19
可以使用覆蓋索引+子查詢來優化
select * from user u,(select id from user order by id limit 9000000,19) i where u.id=i.id
創建索引的原則?
索引失效情況
不滿足最左前綴法則
范圍查詢右邊的列不能使用索引
在索引列上做計算操作索引會失效
字符串不加單引號導致索引失效
頭部like模糊匹配索引會失效
acid是什么,事務的特性是什么?
并發事務問題
臟讀 不可重復讀 幻讀
隔離級別
讀未提交 讀已提交 可重復讀(默認) 串行化