兩個數(shù)據(jù)庫如何比對相同的信息 為什么MySQL在數(shù)據(jù)庫較大的時候分頁查詢很慢,如何優(yōu)化?
為什么MySQL在數(shù)據(jù)庫較大的時候分頁查詢很慢,如何優(yōu)化?個人實踐經(jīng)驗分享一下,商品清單,數(shù)據(jù)量還是比較大的,有幾百萬。當(dāng)時最初的架構(gòu)也遇到了這種問題,因為最初的設(shè)計沒有預(yù)料到這么大的數(shù)據(jù)量,所以要處
為什么MySQL在數(shù)據(jù)庫較大的時候分頁查詢很慢,如何優(yōu)化?
個人實踐經(jīng)驗分享一下,商品清單,數(shù)據(jù)量還是比較大的,有幾百萬。當(dāng)時最初的架構(gòu)也遇到了這種問題,因為最初的設(shè)計沒有預(yù)料到這么大的數(shù)據(jù)量,所以要處理10萬以內(nèi)的架構(gòu)設(shè)計。后來通過不斷尋找解決方案,最終采用了橋接表方案。主表是商品表,有幾百萬或者幾千萬的商品。
第一步,建立橋接數(shù)據(jù)表,一個自增ID,一個商品ID,主要的兩個字段,還可以添加額外的排序條件,都是int類型,不能太大。該表用于存儲產(chǎn)品ID。
第二步,查詢分頁的時候,先在這個橋表上做分頁查詢,這個橋表很小,充滿了索引,速度很快。然后,在取出商品ID后,用已知的商品ID在商品表上進行查詢。了解具體信息。這個速度大大提高。簡單實用,只需查詢修改分頁部分即可完成。
目前三到五百萬的商品列表都是毫秒級的查詢,轉(zhuǎn)化前需要半分鐘。
讓 讓我們來談?wù)凪ySQL數(shù)據(jù)庫。有人說它 沒有必要劃分表和數(shù)據(jù)庫。It 使用in條件進行查詢是最快的。告訴我它在哪里,然后拿到數(shù)據(jù)。