mysql關(guān)聯(lián)查詢(xún)速度慢的問(wèn)題及解決
更新時(shí)間:2025年03月13日 15:31:52 作者:一個(gè)愛(ài)看綜藝的程序猿
這篇文章主要介紹了mysql關(guān)聯(lián)查詢(xún)速度慢的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
mysql關(guān)聯(lián)查詢(xún)速度慢
1. 記錄原因
mysql關(guān)聯(lián)查詢(xún)速度很慢,是由于字段字符集規(guī)則不一致所導(dǎo)致
1.1 在一次線(xiàn)上的服務(wù)中
- 發(fā)現(xiàn)有幾個(gè)關(guān)聯(lián)查詢(xún)速度特別慢,試過(guò)了多種優(yōu)化方案,最后把問(wèn)題定格在 count() 這個(gè)函數(shù)
- 由于是分頁(yè)查詢(xún),所以肯定會(huì)有count()來(lái)去查詢(xún)記錄數(shù),但是每次執(zhí)行這個(gè)count()都會(huì)卡住好幾秒
1.2 最終發(fā)現(xiàn)
- 被關(guān)聯(lián)的兩個(gè)表 字符集規(guī)則不一致,一個(gè)是utf8_general_ci,另一個(gè)是utf8mb4_0900_ai_ci
- 具體原因可能是因?yàn)榫€(xiàn)上服務(wù)器和本地服務(wù)器的mysql版本不同導(dǎo)致的,在覆蓋的時(shí)候出現(xiàn)了問(wèn)題
2. 解決方案
# 查看各個(gè)字段的字符集規(guī)則: show full columns from 表名; # 修改字段的字符集: ALTER TABLE 表名 CHANGE 字段名 字段名 VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci; # 修改表的默認(rèn)字符集: ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; # 查看數(shù)據(jù)庫(kù)編碼: SHOW CREATE DATABASE db_name; # 查看表編碼: SHOW CREATE TABLE tbl_name;
3. 具體操作
- 這邊我是一個(gè)字段一個(gè)字段的改 把兩個(gè)表的字段都統(tǒng)一成了utf8_general_ci格式
ALTER TABLE 表名 CHANGE 字段名 字段名 varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci;
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- MYSQL關(guān)聯(lián)關(guān)系查詢(xún)方式
- MySQL多表關(guān)聯(lián)查詢(xún)方式及實(shí)際應(yīng)用
- 使用MySQL子查詢(xún)和CASE語(yǔ)句判斷關(guān)聯(lián)狀態(tài)
- Mysql關(guān)聯(lián)查詢(xún)的幾種實(shí)現(xiàn)方式
- mysql?使用join進(jìn)行多表關(guān)聯(lián)查詢(xún)的操作方法
- MySQL多表關(guān)聯(lián)查詢(xún)相關(guān)練習(xí)題
- MySQL關(guān)聯(lián)查詢(xún)Join的實(shí)現(xiàn)原理和優(yōu)化建議
相關(guān)文章
解決出現(xiàn)secure_file_priv null的問(wèn)題
這篇文章主要介紹了解決出現(xiàn)secure_file_priv null的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03MySql的存儲(chǔ)過(guò)程學(xué)習(xí)小結(jié) 附pdf文檔下載
這篇文章主要是介紹mysql存儲(chǔ)過(guò)程的創(chuàng)建,刪除,調(diào)用及其他常用命令2012-03-03mysql實(shí)現(xiàn)將字符串字段轉(zhuǎn)為數(shù)字排序或比大小
這篇文章主要介紹了mysql實(shí)現(xiàn)將字符串字段轉(zhuǎn)為數(shù)字排序或比大小,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06MySQL定期整理磁盤(pán)碎片的方法實(shí)現(xiàn)
磁盤(pán)碎片是指文件在磁盤(pán)上分散存儲(chǔ)的情況,這可能導(dǎo)致磁盤(pán)讀寫(xiě)速度下降、空間浪費(fèi)等問(wèn)題,本文主要介紹了MySQL定期整理磁盤(pán)碎片的方法實(shí)現(xiàn),感興趣的可以了解一下2024-02-02- MySQL數(shù)據(jù)庫(kù)自身提供的主從復(fù)制功能可以實(shí)現(xiàn)數(shù)據(jù)的多處自動(dòng)備份,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的拓展,多個(gè)數(shù)據(jù)備份不僅加強(qiáng)數(shù)據(jù)的安全性,通過(guò)實(shí)現(xiàn)讀寫(xiě)分離還能進(jìn)一步提升數(shù)據(jù)庫(kù)的負(fù)載性能,這篇文章主要給大家介紹了關(guān)于在Linux系統(tǒng)下MySQL配置主從分離的相關(guān)資料,需要的朋友可以參考下2022-03-03