mysql索引查詢速度測(cè)試

1吻谋,硬件環(huán)境:win7 64位內(nèi)存10g,ssd(win7開(kāi)機(jī)9秒)數(shù)據(jù)庫(kù)mysql5.6x64
2建立測(cè)試表

create table test_user(
    name varchar(20),
    age int,
     birthday DATETIME
)

java啟動(dòng)類

package index;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class InsertDate {
    static String driverClass = "com.mysql.jdbc.Driver";
    static String url="jdbc:mysql://127.0.0.1:3306/test";
    static String user="root";
    static String password="root";
    static int lock = 0;
    static void reduceLock() {lock--;} 
    
    public static void main(String[] args) throws  InterruptedException, ClassNotFoundException {
        Class.forName(driverClass);
        System.out.println(new java.util.Date());
        for(int i =0;i<150;i++) {
            Connection conn = null;
            try {
                conn = DriverManager.getConnection(url,user,password);
                conn.setAutoCommit(false);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            if(conn!=null) {
                new Thread(new InserThread(conn,i)).start();
                lock++;
            }
        }
        while(lock>0) {
            Thread.sleep(100);
        }
        System.out.println("主線程結(jié)束");
        System.out.println(new java.util.Date());
    }
}
package index;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Random;

public class InserThread  implements Runnable{

    PreparedStatement ps = null;
    Connection conn = null;
    static String sql = "insert into test_user(name,age,birthday) values(?,?,?)";
    int threadId = 0;
    static final char[] ku = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
    static Random random = new Random();

    public InserThread(Connection c,int id) {
        conn=c;
        threadId = id;
    }
    
    @SuppressWarnings("deprecation")
    @Override
    public void run() {
        System.out.println("線程:"+threadId+"開(kāi)始");
        try {
            ps = conn.prepareStatement(sql);
            for(int i =0;i<10000;i++) {
                    ps.setString(1,getRandomString());
                    ps.setInt(2, (int)(random.nextInt(80)+10));
                    ps.setDate(3, new Date(random.nextInt(2016),random.nextInt(12),random.nextInt(30)));
                    ps.execute();
            }
            conn.commit();
        } catch (SQLException e1) {
            try {
                conn.rollback();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            e1.printStackTrace();
        }finally {
            try {
                ps.close();
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            System.out.println("線程:"+threadId+"結(jié)束");
            InsertDate.reduceLock();
        }
    }
    
    static String getRandomString() {
        int length = random.nextInt(16)+3;
        StringBuilder sb = new StringBuilder();
        while(length>1) {
            sb.append(ku[random.nextInt(ku.length-1)+1]);
            length--;
        }
        return sb.toString();
    }
}

我這邊mysql最大連接數(shù)超過(guò)170就報(bào)錯(cuò)现横,我選擇150
這樣一次能插入150萬(wàn)條數(shù)據(jù)漓拾,分十次插入

現(xiàn)在是1350萬(wàn)條數(shù)據(jù)
select count() from test_user
第一次24秒第二次20秒
select * from test_user where name = 'spB58dvvpJ'
一條記錄,用時(shí)22秒(垃圾戒祠,同一臺(tái)電腦sqlserver四千萬(wàn)記錄全表掃描7秒)
select count(
),age
from test_user
group by age
26秒骇两,基本人為全表掃描就是這個(gè)時(shí)間吧

name字段添加索引
ALTER TABLE test_user ADD INDEX name_index ( name)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市姜盈,隨后出現(xiàn)的幾起案子低千,更是在濱河造成了極大的恐慌,老刑警劉巖馏颂,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件示血,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡救拉,警方通過(guò)查閱死者的電腦和手機(jī)难审,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)亿絮,“玉大人告喊,你說(shuō)我怎么就攤上這事麸拄。” “怎么了葱绒?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵感帅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我地淀,道長(zhǎng)失球,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任帮毁,我火速辦了婚禮实苞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘烈疚。我一直安慰自己黔牵,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布爷肝。 她就那樣靜靜地躺著猾浦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪灯抛。 梳的紋絲不亂的頭發(fā)上金赦,一...
    開(kāi)封第一講書(shū)人閱讀 51,727評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音对嚼,去河邊找鬼夹抗。 笑死,一個(gè)胖子當(dāng)著我的面吹牛纵竖,可吹牛的內(nèi)容都是我干的漠烧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼靡砌,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼已脓!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起乏奥,我...
    開(kāi)封第一講書(shū)人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤摆舟,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后邓了,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體恨诱,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年骗炉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了照宝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡句葵,死狀恐怖厕鹃,靈堂內(nèi)的尸體忽然破棺而出兢仰,到底是詐尸還是另有隱情,我是刑警寧澤剂碴,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布把将,位于F島的核電站,受9級(jí)特大地震影響忆矛,放射性物質(zhì)發(fā)生泄漏察蹲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一催训、第九天 我趴在偏房一處隱蔽的房頂上張望洽议。 院中可真熱鬧,春花似錦漫拭、人聲如沸亚兄。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)审胚。三九已至,卻和暖如春礼旅,著一層夾襖步出監(jiān)牢的瞬間菲盾,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工各淀, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诡挂。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓碎浇,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親璃俗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子奴璃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,938評(píng)論 2 89
  • https://blog.csdn.net/steven_liwen/article/details/531884...
    SkTj閱讀 2,375評(píng)論 0 16
  • 第一點(diǎn),硬件太老硬件我們這里主要從CPU城豁、內(nèi)存苟穆、磁盤(pán)三個(gè)方面來(lái)說(shuō)下,還有一些因素比如網(wǎng)卡唱星,機(jī)房網(wǎng)絡(luò)等因?yàn)槲恼缕P(guān)...
    bycall閱讀 1,024評(píng)論 0 1
  • 一雳旅、MySQL架構(gòu)與歷史 A.并發(fā)控制 1.共享鎖(shared lock,讀鎖):共享的间聊,相互不阻塞的 2.排他...
    ZyBlog閱讀 19,837評(píng)論 3 177
  • 在沒(méi)有假期沒(méi)有晴天的三月過(guò)后攒盈,我們終于在四月里懷著激動(dòng)又忐忑的心情出發(fā)啦!激動(dòng)的是久違踏青終于到來(lái)哎榴,忐忑的是天...
    猴賽雷的妞閱讀 287評(píng)論 0 2