乙個簡單例子初步了解主鍵 索引 sql優化的重要性

2021-10-03 16:46:51 字數 2296 閱讀 7322

測試資料:條數100w,查詢目標資料只有一條,選取的資料為所有資料的中間資料,為了公正。在進行操作時沒有增加程序

初學者可以縱向、橫向比較

一、未加主鍵、未加索引

select * from myindex where username like 『username500000%』

456 458 456 454 464 466 456 457 460 458平均458ms

select * from myindex where username like 『%username500000%』

547 549 554 551 547 550 554 556 553 547平均550ms

select * from myindex where username =『username500000』

408 413 415 406 400 411 406 407 406 410平均408ms

select * from myindex where username in (『username500000』)

409 406 406 410 406 408 412 414 410 402平均408ms

二、加主鍵

select * from myindex where username like 『username500000%』

358 333 333 337 335 332 331 331 336 334平均337ms

select * from myindex where username like 『%username500000%』

418 419 423 420 424 419 421 417 417 418平均420ms

select * from myindex where username =『username500000』

283 284 283 282 285 283 284 283 285 284平均283ms

select * from myindex where username in (『username500000』)

281 285 295 288 285 283 285 291 286 299平均285ms

三、加主鍵+目標列加索unique—btree

select * from myindex where username like 『username500000%』

2 1 1 0 1 1 1 1 0 1平均1ms

select * from myindex where username like 『%username500000%』

420 426 416 417 415 418 418 416 419 418平均420ms

select * from myindex where username =『username500000』

1 1 1 0 1 1 1 1 1 1平均1ms

select * from myindex where username in (『username500000』)

0 1 1 0 0 0 1 0 1 0平均1ms

四、目標列加索unique—btree

select * from myindex where username like 『username500000%』

1 0 0 1 1 0 1 0 1 0平均1ms

select * from myindex where username like 『%username500000%』

546 542 543 544 543 546 551 557 560 547平均546ms

select * from myindex where username =『username500000』

0 1 1 2 1 1 1 1 1 0平均1ms

select * from myindex where username in (『username500000』)

1 0 1 0 0 1 1 1 0 1平均1ms

初學者可以在網上找找sql優化策略、以及索引的新增

乙個例子了解apacheBench的簡單使用方法

apachebench,即ab,apache http server benchmarking tool,是apache提供的衡量http伺服器效能的乙個簡單的小工具,用來對apache伺服器進行壓力測試,主要的衡量指標就是伺服器每秒能夠處理請求的數目,同時支援併發請求。下面舉個例子來分析ab 執行...

搜尋初步 乙個小例子

本篇部落格主要以乙個小例子來初步探索一下 搜尋 包括程式的邏輯結構設計 例 在美元中,硬幣是有名字的,它有一些英文單詞去對應的硬幣的面值,比如1分錢叫做penny,5分錢叫做nichel.有乙個數字對應乙個英文單詞 如果要編寫乙個程式做搜尋,使用者輸入乙個數字 面額 程式輸出對應的英文,那麼如何實現...

乙個簡單的例子了解async跟defer

當我們要在頁面當中引入指令碼的時候,一般用的是script標籤 i.e.複製 把script放body尾的話有個缺點就是要等dom載入好了才會去載入並執行script指令碼。前面開頭的時候說過獲取 載入指令碼內容不會阻塞,只有執行指令碼內容的時候才會阻塞!如果能在載入dom的同時載入script指令...