使用的是阿里云服務器,mysql5.7,單表資料量兩百萬左右, 每一條sql 間隔一段時間的第一次查詢 都很慢,之后的查詢都快很多,比如,有些查詢,第一次查詢 30s,第二次之后3s。
這種問題,如何解決?
uj5u.com熱心網友回復:
第二次執行相同SQL查詢陳述句是因為已經快取了結果。第一次需要30S,則使用EXPLAIN看一下執行計劃。然后根據情況添加必要的索引或者優化查詢。
uj5u.com熱心網友回復:
也就是說 第一次查詢的值 是真實的sql查詢陳述句 的效率?后面的查詢是 從快取中獲得,所以會快uj5u.com熱心網友回復:
https://help.aliyun.com/knowledge_detail/41717.htmluj5u.com熱心網友回復:
第二次查詢從快取的結果集查詢了,所以效率提高了。uj5u.com熱心網友回復:
看一下執行計劃explain,是否有合適的索引。uj5u.com熱心網友回復:
樓上說的都對。索引磁區。或者改查詢sql總有一個適合你
uj5u.com熱心網友回復:
組態檔innodb_buffer_pool_size大小是多少,服務器記憶體是多大的。uj5u.com熱心網友回復:
緩沖池大小看看多少。隔一段時間查詢慢就是說資料再LRU鏈表里被移除了,也就是緩沖池不夠大,增大臟頁占比。還有看看是不是開了查詢緩沖
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/78210.html
標籤:MySQL
下一篇:c3p0連接池組態檔中maxIdleTime小于資料庫的timeout時間,為什么還會出現了使用了資料庫已經超時的連接
