欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql查詢 時快時慢,mysql中的慢查詢會不會影響速度

錢多多2年前21瀏覽0評論
mysql查詢 時快時慢,mysql中的慢查詢會不會影響速度?

肯定影響的。常見查詢慢的原因常見的話會有如下幾種:

1、沒有索引或沒有用到索引。PS:索引用來快速地尋找那些具有特定值的記錄,所有mysql索引都以B-樹的形式保存。如果沒有索引,執行查詢時MySQL必須從第一個記錄開始掃描整個表的所有記錄,直至找到符合要求的記錄。表里面的記錄數量越多,這個操作的代價就越高。如果作為搜索條件的列上已經創建了索引,MySQL無需掃描任何記錄即可迅速得到目標記錄所在的位置。如果表有1000個記錄,通過索引查找記錄至少要比順序掃描記錄快100倍。索引類型:普通索引:這是最基本的索引類型,沒唯一性之類的限制。唯一性索引:和普通索引基本相同,但所有的索引列只能出現一次,保持唯一性。主鍵:主鍵是一種唯一索引,但必須指定為"PRIMARYKEY"。全文索引:MYSQL從3.23.23開始支持全文索引和全文檢索。在MYSQL中,全文索引的索引類型為FULLTEXT。全文索引可以在VARCHAR或者TEXT類型的列上創建。

2、IO吞吐量小形成了瓶頸。PS:這是從系統層來分析MYSQL是比較耗IO的。一般數據庫監控也是比較關注IO。監控命令:$iostat-d-k110參數-d表示,顯示設備(磁盤)使用狀態;-k某些使用block為單位的列強制使用Kilobytes為單位;110表示,數據顯示每隔1秒刷新一次,共顯示10次。

3、內存不足監控內存使用:vmstat[-n][延時[次數]]Memoryswpd:切換到交換內存上的內存(默認以KB為單位)?如果swpd的值不為0,或者還比較大,比如超過100M了,但是si,so的值長期為0,這種情況我們可以不用擔心,不會影響系統性能。free:空閑的物理內存buff:作為buffercache的內存,對塊設備的讀寫進行緩沖cache:作為pagecache的內存,文件系統的cache?如果cache的值大的時候,說明cache住的文件數多,如果頻繁訪問到的文件都能被cache住,那么磁盤的讀IObi會非常小。

4、網絡速度慢pingIP-t查看是否有丟包。

5、一次查詢的數據量過大。比如沒有分頁查詢,一次提取上萬條記錄。數據庫有可能卡死。

6、出現死鎖所謂死鎖:是指兩個或兩個以上的進程在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去.Showinnodbstatus檢查引擎狀態,可以看到哪些語句產生死鎖。執行showprocesslist找到死鎖線程號.然后Kill processNo7、返回了不必要的行或列一般查詢SQL語句一定要將字段明確指定。而不要使用*進行查詢8、注意UNion和UNionall的區別。UNIONall好UNION在進行表鏈接后會篩選掉重復的記錄,所以在表鏈接后會對所產生的結果集進行排序運算,刪除重復的記錄再返回結果。所以unionall的效率肯定要高!