mysql慢查询日志时间戳_Mysql查询在时间戳的日期范围内非常慢
要提高此查詢的性能,請使用合適的索引(將date_run作為索引中的前導列),并在等效謂詞中引用“裸列”.
在函數中包裝列(如DATE(),就像在查詢中一樣)會禁用MySQL優化器使用范圍掃描操作.通過查詢,即使索引可用,每次運行該查詢時,MySQL都會對表中的每一行進行完整掃描.
為了提高性能,請在“裸”列上使用謂詞,例如:
WHERE date_run >= '2014-5-22' AND date_run < '2014-5-29' + INTERVAL 1 DAY
(注意,當我們省略日期文字的時間部分時,MySQL假設時間組件為午夜’00:00:00′.我們知道每個日期時間/時間戳值,日期組件等于’2014-05-29’保證不到’2014-05-30’的午夜.)
MySQL需要適當的索引才能對此特定查詢使用有效的范圍掃描操作.適合此查詢的最簡單索引是:
... ON stocktrack (date_run)
(請注意,任何以date_run作為前導列的索引都是合適的.)
使用索引的范圍掃描操作(通常)在大型集合上(通常)更有效(和更快),因為MySQL可以非??焖俚貜目紤]中消除大量行.如果沒有范圍掃描操作,MySQL必須檢查表中的每一行.
使用EXPLAIN來比較原始和修改之間的MySQL查詢計劃.
你問的問題……
“…對選項文件的任何調整……”
該問題的答案實際上取決于您使用的是哪個存儲引擎(MyISAM或InnoDB).降壓的最大好處來自于分配足夠的緩沖區來保存內存中的數據庫塊,以減少I / O ……但這樣做的代價是可以為運行的其他任何內存提供更少的內存,并且過度分配沒有任何好處記憶.關于MySQL服務器調優的問題,除了查詢性能之外,最好在dba.stackexchange.com上提出.
總結
以上是生活随笔為你收集整理的mysql慢查询日志时间戳_Mysql查询在时间戳的日期范围内非常慢的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么查到mysql的账号密码是什么_怎么
- 下一篇: wp config.php mysql_