日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 數(shù)據(jù)庫(kù) > MySQL > 正文

MySQL中因字段字符集不同導(dǎo)致索引不能命中的解決方法

2024-07-25 19:08:56
字體:
供稿:網(wǎng)友

什么是索引?為什么要建立索引?

索引用于快速找出在某個(gè)列中有一特定值的行,不使用索引,MySQL必須從第一條記錄開始讀完整個(gè)表,直到找出相關(guān)的行,表越大,查詢數(shù)據(jù)所花費(fèi)的時(shí)間就越多,如果表中查詢的列有一個(gè)索引,MySQL能夠快速到達(dá)一個(gè)位置去搜索數(shù)據(jù)文件,而不必查看所有數(shù)據(jù),那么將會(huì)節(jié)省很大一部分時(shí)間。

例如:有一張person表,其中有2W條記錄,記錄著2W個(gè)人的信息。有一個(gè)Phone的字段記錄每個(gè)人的電話號(hào)碼,現(xiàn)在想要查詢出電話號(hào)碼為xxxx的人的信息。

如果沒有索引,那么將從表中第一條記錄一條條往下遍歷,直到找到該條信息為止。

如果有了索引,那么會(huì)將該P(yáng)hone字段,通過一定的方法進(jìn)行存儲(chǔ),好讓查詢?cè)撟侄紊系男畔r(shí),能夠快速找到對(duì)應(yīng)的數(shù)據(jù),而不必在遍歷2W條數(shù)據(jù)了。其中MySQL中的索引的存儲(chǔ)類型有兩種:BTREE、HASH。 也就是用樹或者Hash值來存儲(chǔ)該字段,要知道其中詳細(xì)是如何查找的,就需要會(huì)算法的知識(shí)了。我們現(xiàn)在只需要知道索引的作用,功能是什么就行。

引言

今天寫了一個(gè)sql,其中涉及的表中的數(shù)據(jù)量都差不多為50w左右,查詢發(fā)現(xiàn)用了8s。這個(gè)只是測(cè)試服上數(shù)據(jù),放到正式服上,肯定一運(yùn)行就掛了。

SELECT Orders. NO, GuidNo, Orders.CreateTime, sum(OrderItem.Quantity) AS Quantity, Brand. NAME AS BrandName, member.Mobile, Street AS deliveryaddress, AreaFROM OrdersINNER JOIN OrderItem ON Orders.GuidNo = OrderItem.OrderGuidNoINNER JOIN Brand ON Brand.Id = Orders.BrandIdINNER JOIN member ON member.Id = 13INNER JOIN memberaddress ON member.Id = memberaddress.MemberIdWHERE orders.GuidNo IN (  SELECT   orderpayment.OrderGuidNo  FROM   paymentrecord  LEFT JOIN orderpayment ON paymentrecord.`No` = orderpayment.PaymentNo  WHERE   paymentrecord.PaymentMethod = 'MemberCard'  AND paymentrecord.Payer = 13 )GROUP BY GuidNo;

然后就用EXPLAIN分析了一下,發(fā)現(xiàn)Orders表沒有命中索引,但是查詢Orders中的GuidNo已經(jīng)設(shè)置了索引,但就是不能命中。

MySQL,字段,字符集,索引,不能命中

解決過程

然后我將上面的語句分為兩個(gè)語句。首先將sql語句修改為:將子查詢的數(shù)據(jù)直接寫在了sql中,查詢用了0.12s。

SELECT Orders. NO, GuidNo, Orders.CreateTime, sum(OrderItem.Quantity) AS Quantity, Brand. NAME AS BrandName, member.Mobile, Street AS deliveryaddress, AreaFROM OrdersINNER JOIN OrderItem ON Orders.GuidNo = OrderItem.OrderGuidNoINNER JOIN Brand ON Brand.Id = Orders.BrandIdINNER JOIN member ON member.Id = 13INNER JOIN memberaddress ON member.Id = memberaddress.MemberIdWHERE orders.GuidNo IN (  '0A499C5B1A82B6322AE99D107D4DA7B8',  '18A5EE6B1D4E9D76B6346D2F6B836442',  '327A5AE2BACEA714F8B907865F084503',  'B42B085E794BA14516CE21C13CF38187',  'FBC978E1602ED342E5567168E73F0602' )GROUP BY GuidNo

第二個(gè):?jiǎn)为?dú)運(yùn)行子查詢的Sql,也才用了0.1s

SELECT   orderpayment.OrderGuidNo  FROM   paymentrecord  LEFT JOIN orderpayment ON paymentrecord.`No` = orderpayment.PaymentNo  WHERE   paymentrecord.PaymentMethod = 'MemberCard'  AND paymentrecord.Payer = 13

這么問題就清晰了,一定是子查詢和父查詢關(guān)聯(lián)的問題。因?yàn)樽硬樵儐为?dú)很快,父查詢用子查詢數(shù)據(jù)直接查的時(shí)候也很快,就是在他倆結(jié)合的時(shí)候很慢。大致能將問題鎖定在這兩個(gè)關(guān)聯(lián)字段OrderGuidNo上。

最后發(fā)現(xiàn) orderpayment 表和 Orders 表字符集是不同的。一個(gè)表的字符集是:utf8_general_ci,一個(gè)是:utf8mb4_general_ci。(不查不知道,發(fā)現(xiàn)一個(gè)數(shù)據(jù)庫(kù)中,很多表的字符集都不相同)

MySQL,字段,字符集,索引,不能命中

修改orderpayment表的字符集和表中OrderGuidNo的字符集為:utf8_general_ci

ALTER TABLE orderpayment DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; //修改表的字符集ALTER TABLE orderpayment CHANGE OrderGuidNo OrderGuidNo VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci; //修改字段的字符集

然后在用EXPLAIN分析一下,可以看到都用上了索引。

MySQL,字段,字符集,索引,不能命中

然后運(yùn)行,查詢了0.112秒。

MySQL,字段,字符集,索引,不能命中

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MYSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
午夜一区二区视频| 日韩欧美色综合| 国产在线欧美日韩| 精品久久在线| 亚洲第一视频| 国产在线www| 亚洲羞羞网站| 一本大道一区二区三区| 亚洲 欧美 中文字幕| 日韩欧美一级在线| 中文字幕久久av| 视频一区二区国产| 中文字幕2020第一页| 国产日韩精品视频| 精品日韩欧美在线| 精品乱子伦一区二区| 日韩黄色在线播放| 偷窥国产亚洲免费视频| 亚洲va韩国va欧美va精品| 欧美精选午夜久久久乱码6080| 亚洲第一视频网站| 国产男女av| 国产婷婷色一区二区三区| 一区二区日韩免费看| 91精品国产丝袜白色高跟鞋| 久久久99久久精品欧美| 国产 欧美 在线| 久久久精品国产99久久精品芒果| 韩国av一区二区| 日韩不卡av| 国产一级久久久| 精品三区视频| 国产高清一级片| 91精品婷婷国产综合久久| 欧美日韩性视频一区二区三区 | 久久福利视频一区二区| 国产欧美中文在线| 日韩一级精品| 国产精久久久久| 亚洲中文字幕一区| 国产一区深夜福利| 国产最顶级的黄色片在线免费观看| 亚洲一区在线观看免费| 亚洲成av人综合在线观看| 欧美一级二级三级区| 久久精品久久精品国产大片| 精品三级av| 91精品综合久久久久久| 日韩欧美在线视频日韩欧美在线视频| 日韩在线视频网| 91精品啪在线观看国产60岁| 欧美一级手机免费观看片| 91精品在线免费观看| 日韩精品免费视频一区二区三区| 中文字幕欧美国内| 日韩精品三级| 黄色国产在线| 精品精品久久| 91精品国产综合久久久久| 亚洲一区视频在线观看视频| 日韩精品欧美| 91精品国产综合久久久久久漫画| 国产欧美日韩亚洲| a视频免费在线观看| 欧美亚洲专区| 中文字幕久久精品| 在线国产1区| 久久精品人妻一区二区三区| 91精品国产91综合久久蜜臀| 极品久久久久久| 国产69精品久久app免费版| 欧美日韩激情在线一区二区三区| 日韩三级视频中文字幕| 中文字幕狠狠干| 亚洲第一视频在线观看| 中文字幕精品一区二| 最近中文字幕在线中文视频| 久精品在线观看| 日本不卡免费高清视频| 国产一区久久| 精品日韩av一区二区| 欧美日韩在线不卡一区| 91www成人久久| 久久欧美中文字幕| 欧美日韩视频免费看| 亚洲一区中文在线| 日韩国产成人| 在线免费播放av| 欧美日韩午夜在线| 欧美91精品| 精品国产不卡一区二区| 亚洲一区中文字幕在线观看| 精品久久在线观看| 日韩欧美国产午夜精品| 欧美日韩国产一区| 国产午夜精品视频| 天堂精品高清1区2区3区| 欧美久久久久久蜜桃| 欧美一级手机免费观看片| 亚洲第一视频| 欧美日韩中文字幕在线视频| 免费在线亚洲| 91精品国产自产在线| 中文字幕国产在线| 中文字幕在线视频久| 国产99在线 | 亚洲| 亚洲va韩国va欧美va精品| 国产91欧美| 一区二区三区精品在线观看| 精品久久久精品| 一区在线播放视频| 日韩一级免费视频| 欧美国产中文| 国产亚洲二区| 日本啊v在线| 日韩欧美中文视频| 99综合精品久久| 国产欧美日韩久久| 国产三级中文字幕| 欧美 日韩 国产在线观看| 久久激情中文| 国产视频1区| 91精品国产综合久久蜜臀| 1区2区在线| 粉嫩粉嫩芽的虎白女18在线视频| 欧美日韩国产免费| 国产欧美久久久| 亚洲一区三区在线观看| 国产91欧美| 日韩av二区| 欧美日韩视频在线| 中文字幕欧美日韩精品| 亚洲一级网站| 亚洲第一香蕉网| 欧美日韩亚洲91| 先锋男人资源站| 欧美在线日韩精品| 欧美三级日韩三级国产三级| 国产一区二中文字幕在线看| 精品久久91| 欧美日韩中文字幕日韩欧美| 中文字幕欧美人妻精品一区蜜臀| 国产欧美日韩第一页| 免费国产成人看片在线| 国产主播中文字幕| 婷婷中文字幕在线观看| 国产一区 二区 三区一级| 高清不卡一区二区| 中文在线日韩| 欧美一级在线免费| 中文字幕精品在线播放| www中文字幕在线观看| 亚洲福利在线观看| a天堂中文在线官网在线| 欧美色欧美亚洲高清在线视频| 日韩高清不卡一区二区| 日韩欧美在线看| 国产黄色在线观看| 国产95在线|亚洲| 中文字幕高清在线播放| 伊人亚洲视频| 日韩专区视频网站| 欧美日韩三级一区| 精品久久久网| 国产羞羞视频在线播放| 午夜国产在线视频| 欧美1区免费| 亚洲羞羞网站| 日本不卡一区在线| 精品国产乱码一区二区| 免费视频一区三区| 中文字幕4区| 亚洲校园欧美国产另类| 国产劲爆久久| 精品欧美日韩精品| 日韩福利视频导航| 伊人伊成久久人综合网小说| 国产三级在线播放| 亚洲高清在线免费| 国产95在线|亚洲| 欧美日韩国产高清| 中文字幕狠狠干| 91精品国产综合久久久久久| 欧美日韩激情在线一区二区三区 | 亚洲专区一二三| 樱花草www在线| 国产性一级片| 在线欧美日韩国产| 国产亚洲人成a一在线v站| 成年人黄国产| 精品国内自产拍在线视频| 国产一区不卡精品| 一本一道综合狠狠老| 日韩av二区| 一区二区日韩视频| 国产黄色在线网站| www.久久久精品| 精品乱子伦一区二区| 国产区日韩欧美| 不卡福利视频| 日韩视频一区在线观看| 亚洲国产91精品在线观看| 色猫猫国产区一区二在线视频| 亚洲三级免费看| 偷窥国产亚洲免费视频| 亚洲一区中文字幕在线观看| www日韩在线观看| 日韩欧美国产免费| 精品久久久视频| 中文字幕亚洲第一| 亚洲欧美久久久| 欧美日韩亚洲第一| 一区二区在线看| 中文字幕国产视频| 欧美在线视频一区二区| 精品视频www| 国产欧美日韩第一页| 久精品在线观看| 国产高潮久久久| 国产不卡精品在线| 欧美 日韩 国产 高清| 最新中文字幕在线| 国产在线精品国自产拍免费| 国产在线二区| 最近中文字幕日韩精品| 国产三级在线播放| 欧美日韩在线三级| 亚洲成a人片在线www| 欧美日韩国产不卡在线看| 亚洲视频色图| 日韩欧美资源站| 亚洲专区一二三| 在线观看精品国产| 久久久久蜜桃| 亚洲社区在线| 欧美人妻一区二区三区| 久久久精品免费免费| 欧美日韩三级在线| 欧美日韩国产免费观看视频| wwwwww国产| 久久夜色精品国产噜噜亚洲av| 欧美日韩一二| 日韩欧美在线看| 中文字幕乱码在线| 美女黄a一级视频| 中文在线中文字幕| 国产日韩1区| 欧美日韩精品免费| aaa免费看大片| 亚洲视频 中文字幕| 欧美久久在线观看| 国产95在线|亚洲| 欧美在线视频第一页| 日韩视频国产视频| 国产 日韩 欧美 综合 一区| 中文字幕国产欧美| 亚洲一级特黄| 九九视频精品免费| 国产在线拍揄自揄拍| 精品国产乱码久久久久久蜜臀| 国产无遮挡在线视频免费观看| 日韩欧美色综合网站| 99久热re在线精彩视频| 国产亚洲短视频| 欧美不卡一二三| 日韩欧美资源站| 一区二区在线看| 日韩欧美999| 日韩精品在线免费播放| 亚洲成av人综合在线观看| 一区二区不卡在线播放| 一区二区日韩视频| 国产午夜精品全部视频播放| 国产在线精品日韩| 日韩在线 中文字幕| 日韩视频精品在线观看| 日韩欧美国产网站| 国产高清大尺度一区二区不卡| 欧美日韩免费高清| 91精品国产色综合久久不卡蜜臀| 日韩精品一级| 成人一区二区不卡免费| 国产偷国产偷亚洲清高网站 | 国产欧美日韩91| 欧美日韩第一区日日骚| 日韩精品免费视频一区二区三区| 欧美日韩在线看| 精品视频www| 日韩色在线观看| 91精品国产综合久久久久久漫画 | 国产在线第一页| 亚洲综合在线中文字幕| 亚洲.国产.中文慕字在线| 国产不卡在线观看视频| lutube成人福利在线观看| 亚洲欧美中文字幕| 亚洲成av人片| 欧美国产日韩综合| 被陌生人带去卫生间啪到腿软| 欧美日韩国产一二| 国产乱码在线| 欧美日韩一级黄| 久久人人精品| 日韩激情一区| 一区二区三区精品99久久| 中文精品在线观看| 欧美一卡2卡3卡4卡| 综合激情国产一区| 国产成人精品999| 国产一级免费| 日韩中文字幕视频网| 欧美日韩中文字幕视频| 国产精品福利视频一区二区三区| 亚洲午夜91| 日韩中文在线视频| 精品国产免费观看一区| 亚洲 欧美 精品| 欧洲精品在线一区| 欧美三级三级三级爽爽爽| 一区三区二区视频| 中文字幕欧美亚洲| eeuss一区| 亚洲一区中文在线| 精品日韩av一区二区| 在线国产一级| 久久久精品午夜少妇| 最新日韩中文字幕| 伊人中文字幕在线观看| 精品播放一区二区| av一级在线| 国产日韩亚洲欧美| 97久久精品| 国产成人精品综合网站| 亚洲欧洲国产视频| 大香一本蕉伊线亚洲网| 在线不卡日本| 91精品国产自产在线丝袜啪| 中文字幕精品在线播放| 国产欧美中文在线| 国产午夜在线观看| 日韩视频国产视频| 日韩国产在线观看一区| 国产欧美日韩第一页| 日韩欧美99| 国产 欧美在线| 欧美中文字幕精品| 精品乱子伦一区二区| 亚洲欧洲日韩精品在线| 一区二区中文视频| 一本大道一区二区三区| 国产在线观看a| 精品三级在线| 亚洲欧美中文字幕在线一区| 亚洲v中文字幕| 亚洲一区中文| 大香一本蕉伊线亚洲网| 亚洲欧洲一区二区天堂久久| 日韩欧美国产1| 欧美日韩中文字幕日韩欧美| 欧美三级免费观看| 天天综合天天综合| 日韩欧美一二三区| 日韩精品在线看| 欧美日韩综合视频| 国产欧美日韩三级| 欧美日韩高清一区二区| 精品国产99久久久久久| 亚洲狠狠婷婷综合久久久久图片| 国产日韩精品久久久| 国产激情久久久| 亚洲视频日韩| 中文字幕亚洲第一| 欧美日韩国产高清视频| 日韩视频国产视频| www.中文字幕在线| 亚洲乱码中文字幕综合| 国产欧美高清在线| 91精品蜜臀在线一区尤物| 国产95在线|亚洲| 亚洲视频资源在线| 国产在线日韩欧美| 日韩美女中文字幕| 日韩欧美国产亚洲| 欧美日韩高清不卡| 日韩国产亚洲欧美| 91精品国产入口| 国产视频一二区| 亚洲素人一区二区| 亚洲免费看av| 久久精品国产成人一区二区三区| 香蕉人人精品| av最新网址| 天天综合天天做| 国产欧美综合在线| 精品日韩在线观看| 欧美日韩精品国产| 久久91精品久久久久久秒播| www.日韩免费| 国产午夜精品久久| 日韩av一区二|