文章詳情頁
mysql 數據幾十萬 CPU過高
瀏覽:130日期:2022-06-15 08:12:47
問題描述
一個數據表數據有幾十萬的樣子 在查詢頁面反復的時候 CPU特別高基本爆滿SQl語句select count(*) from emp where catid <> 3 and cid =2; 用戶做分頁數量select * from emp limit 1,10; 本頁顯示的
問題解答
回答1:你這個根本沒有訪問索引,直接讀硬盤數據
回答2:sql 語句 發一下。
回答3:InnoDB是沒有直接保存表的數據總數的,select count(*) from emp;要掃一遍索引,反復查當然要耗CPU。
我的測試表有兩千萬數據,沒緩存時count(*)要15秒,有緩存后也要3秒。
show table status where Name = ’your table name’
可以拿到近似的行數。
回答4:這個可以用延遲關聯查詢(索引覆蓋查詢)
相關文章:
1. mysql - 在不允許改動數據表的情況下,如何優化以varchar格式存儲的時間的比較?2. javascript - Img.complete和img.onload判斷圖片加載完成有什么區別?3. docker網絡端口映射,沒有方便點的操作方法么?4. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?5. css3 - 純css實現點擊特效6. java中返回一個對象,和輸出對像的值,意義在哪兒7. 安全性測試 - nodejs中如何防mySQL注入8. javascript - 關于apply()與call()的問題9. MySQL中無法修改字段名的疑問10. python - 在sqlalchemy中獲取剛插入的數據id?
排行榜
