六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

mysql大表中count()的用法以及mysql中count()的優(yōu)化

[摘要]本篇文章給大家?guī)淼膬?nèi)容是關(guān)于mysql大表中count()的用法以及mysql中count()的優(yōu)化,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對你有所幫助。一個(gè)單表中包含有6000w+的數(shù)...
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于mysql大表中count()的用法以及mysql中count()的優(yōu)化,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對你有所幫助。

一個(gè)單表中包含有6000w+的數(shù)據(jù),然而你又不能拆分.需要分別統(tǒng)計(jì)表中有多少數(shù)據(jù),A產(chǎn)品有多少,B產(chǎn)品有多少這幾個(gè)數(shù)據(jù).

在為優(yōu)化之前.表結(jié)構(gòu)如下,為了隱藏內(nèi)容我將相應(yīng)字段做了模糊化處理.

CREATE TABLE `xxxx` (
  `link` varchar(200) DEFAULT NULL,
  `test0` varchar(500) DEFAULT NULL,
  `test1` varchar(50) DEFAULT NULL,
  `test2` int(11) DEFAULT NULL,
  `test3` varchar(20) DEFAULT NULL,
  `test4` varchar(50) DEFAULT NULL,
  `test5` varchar(50) NOT NULL,
  `inserttime` datetime DEFAULT NULL,
  `test6` bit(1) NOT NULL DEFAULT b'0',
  `A` bit(1) NOT NULL DEFAULT b'0',
  `B` bit(1) NOT NULL DEFAULT b'0' ,
  PRIMARY KEY (`test5`),
  KEY `test6` (`test6`) USING BTREE,
  KEY `A` (`A`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

這個(gè)一個(gè)常規(guī)的InnoDB的表格,所以它的count(*)比起MyISAM的效率慢很多,InnoDB所顯示的row的行數(shù)不很準(zhǔn)確,所以在這這里我需要統(tǒng)計(jì)一下.有這么幾個(gè)策略.
共計(jì)61500000數(shù)據(jù)

count(*) 耗時(shí) 1539.499s

count(1) 耗時(shí) 907.581s

count(A) 對索引進(jìn)行count.

count(test6) 對主鍵進(jìn)行count.

無一例外,由于這個(gè)表沒有優(yōu)化好上面無論哪一種都需要幾千秒的時(shí)間,這個(gè)是我們無法忍受的.

下面我們開始著手分析處理這個(gè)問題.

預(yù)期整個(gè)表的count(*)應(yīng)該在200s以內(nèi)為正常,100以內(nèi)為良好,50以內(nèi)為優(yōu)秀.

首先我將里面test6抽取了出來,單獨(dú)形成了一個(gè)表.對其進(jìn)行操作.
共計(jì)61500000數(shù)據(jù)

count(*) 耗時(shí)10.238s

count(1) 耗時(shí)8.710s

count(test6) 對主鍵進(jìn)行count.耗時(shí)12.957s

其中count(1)的效率最高,比最慢count(pk)速度提升了52.0%.

將你能確定的字段改為最優(yōu)值,例如:

varchar更為char.雖然varchar可以自動(dòng)分配存儲(chǔ)空間的大小但是.varchar需要使用1到2個(gè)額外的字節(jié)來記錄字符串的長度,增加它的update的操作時(shí)間,

datetime改為timestamp后者在1978-2038年之間

最后使用count(1)檢驗(yàn)的時(shí)候最快耗時(shí),168s.雖然有些慢但是可以接受.

總結(jié):

重新設(shè)計(jì)你表中的字段,盡量優(yōu)化它的長度.不要一味使用過多的varchar.

使用count(1)而不是count(*)來檢索.

相關(guān)推薦:

mysql中無限極分類的代碼實(shí)現(xiàn)

Mysql數(shù)據(jù)庫優(yōu)化的方法總結(jié)(必看)

以上就是mysql大表中count()的用法以及mysql中count()的優(yōu)化的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。




主站蜘蛛池模板: 青青草原在线新免费 | 午夜影院免费观看视频 | 日产精品久久久一区二区 | 天天射天天干天天插 | 色综合久久六月婷婷中文字幕 | 天天躁夜夜躁狠狠躁躁88 | 中文字幕日韩专区精品系列 | 青青色在线观看 | 特黄特黄aaaa级毛片免费看 | 亚洲网站在线 | 最新亚洲情黄在线网站 | 天天看天天摸天天操 | 亚洲成aⅴ人片在线观 | 一二三四社区在线高清3 | 日韩在线影院 | 速度与激情9下载 | 日本视频在线免费播放 | 亚洲欧美精品 | 午夜欧美性欧美 | 亚州第一视频 | 亚欧成人中文字幕一区 | 欧美一级视频在线高清观看 | 手机看片日韩日韩韩 | 天天透天天干 | 色橹橹欧美在线观看高清视频 | 中国日韩欧美中文日韩欧美色 | 一二三四在线手机观看视频 | 亚洲黄色官网 | 青青草华人在线视频 | 性久久久久久久久 | 亚洲免费播放 | 在线视频欧美亚洲 | 青娱娱乐盛宴免费一二区 | 性网站在线观看 | 欧美在线视频观看 | 亚洲乱码一二三四区国产 | 永久免费看的啪啪网站 | 亚洲精品中文字幕区 | 欧美综合国产精品日韩一 | 日韩一级黄色毛片 | 日产精品卡二卡三卡四卡乱码视频 |