當前位置:成語大全網 - 新華字典 - mysql 大數據量查詢如何優化,沒辦法去掉<>和like

mysql 大數據量查詢如何優化,沒辦法去掉<>和like

其實妳這個需要程序和數據庫有壹致的設計。可考慮分區。

通過電話前綴來分區,以下只是壹個形式,不推薦用中文命名,

這樣,只要用戶不填寫電話,那麽前三字符就是xxx,自動會放入 ZFU區。

CREATE TABLE Customer

(

ID INT NOT NULL,

Mobile_PerNO CHAR(3) DEFAULT 'xxx',

Mobile VARCHAR(30)

)

PARTITION BY LIST(Mobile_PerNO)

PARTITION 聯通186 VALUES IN (133),

PARTITION 移動139 VALUES IN (139),

PARTITION 電信133 VALUES IN (133),

PARTITION ZFU VALUES IN (xxx)

);

其次妳過於依賴數據庫而成形的程序,用點不客氣的話說,那就是耦合極高的設計。

妳其實完全可以在註冊時,寫入驗證,壹個手機號就能註冊壹次。左右打掉空格,這樣手機上就能建立唯壹索引。 使用LIKE ‘133%’ 至少性能上有壹定的飛躍。

至於妳的第二個SQL, 在時間和發送號碼上可以建立索引,然後條件上寫入時間。

也可以使用hash方式按照年季度分區。

理論上 性能提升百倍還是壹點問題都沒有的。

分區資料 看官方文檔。