執行計畫:
1.相對比較準確的表達出當前sql執行狀況,是否走索引,不走索引。
只要在sql語句前面加上explain
會出來乙個表,
type如果是all就代表是全表掃瞄 也就是沒有走索引
如果是index就是全索引掃瞄,這樣的也是很慢
這兩個效能都不高!有優化的餘地!
如果是range就是索引查詢,這樣就不會走全表掃瞄,速度會快很多
2.如果只需要查詢一條資料 記得加上limit 1 這樣找到第一條之後就不再繼續查詢了
其他的:
- 檢視表結構
desc 表名
- 檢視生成表的sql
show create table 表名
- 檢視索引
show index from 表名
- 檢視執行時間
set profiling = 1;
sql...
show profiles;
正確使用索引
資料庫表中新增索引後確實會讓查詢速度起飛,但前提必須是正確的使用索引來查詢,如果以錯誤的方式使用,則即使建立索引也會不奏效。
即使建立索引,索引也不會生效:
- like '%xx'
select * from tb1 where name like '%cn'; #最左命中,所以最左邊模糊搜尋的時候不走索引
- 使用函式
select * from tb1 where rev
day 3 9基礎複習
1.不要在模組之間相互呼叫,否則會出現麻繩現象,避免迴圈匯入。用來判斷值是否相等 分別指向兩個空間,但是空間裡面的內容相同 is 判斷指向是否相等。例 a 11,22,33 b 11,22,33 a b true a is b false id a 1398041200093640 id b 139...
day39 程序 佇列
佇列queue 程序之間資料是隔離的,不共享的,但是通過multiprocessing的queue可以實現程序之間的通訊。1 先進先出 把1 2 3放到佇列裡,按1 2 3的順序拿出來。from multiprocessing import queue q queue q.put 1 q.put 2...
程式設計之旅 Day39
day39 學習內容 1.劍指offer 面試題32 從上到下列印二叉樹 面試題32 把二叉樹列印成多行 面試題32 按之字形順序列印二叉樹 面試題36 二叉搜尋樹與雙向鍊錶 3.華為機試題 例1 取近似值 例2 合併表記錄 例3 提取不重複的整數 題目描述 從上往下列印出二叉樹的每個節點,同層節點...