我們采用了直接建表方式搭建Drupal網站後,我記錄了一篇《Drupal網站Views生成頁面的XML網站地圖構建》,這個辦法很通用,一般都沒有問題,隻是在少量情況下可能需要修改MySQL查詢語句,例如當數據量很大(如果超過100萬條記錄)的時候,SQL語句執行時間很長,容易造成RDS雲服務器卡死。
陸續發現過幾種情況,也采取措施解決了,但忘記記錄博客了。今天再次發生一個站sitemap被爬堵住,導緻整台數據庫服務器卡住的情況,用下面辦法解決,記錄下來。
SELECT DISTINCT person FROM gongshang limit 10000 offset 1000000;
上面的語句執行起來大約需要12秒,person字段創建有索引,也不快。
增加person這個字段的排序測試,語句如下:
SELECT DISTINCT person FROM gongshang order by person limit 10000 offset 1000000;
運行起來速度大幅提高,隻需要大約1秒,速度提升10倍以上,不會再堵了。
不過我們試驗發現這個辦法隻适用于加了索引的字段,不适用于主鍵。
评论