亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

2021數(shù)據(jù)庫考試題及答案 mysql題目和詳細答案( 九 )


key_len只計算where條件用到的索引長度,而排序和分組就算用到了索引,也不會計算到key_len中 。
9. ref如果是使用的常數(shù)等值查詢,這里會顯示const,如果是連接查詢,被驅(qū)動表的執(zhí)行計劃這里會顯示驅(qū)動表的關(guān)聯(lián)字段,如果是條件使用了表達式或者函數(shù),或者條件列發(fā)生了內(nèi)部隱式轉(zhuǎn)換,這里可能顯示為func
10. rows(重要)rows 也是一個重要的字段 。這是mysql估算的需要掃描的行數(shù)(不是精確值) 。這個值非常直觀顯示 SQL 的效率好壞, 原則上 rows 越少越好.
11. filtered這個字段表示存儲引擎返回的數(shù)據(jù)在server層過濾后,剩下多少滿足查詢的記錄數(shù)量的比例,注意是百分比,不是具體記錄數(shù) 。這個字段不重要
12. extra(重要)EXplain 中的很多額外的信息會在 Extra 字段顯示, 常見的有以下幾種內(nèi)容:
distinct:在select部分使用了distinc關(guān)鍵字Using filesort:當(dāng) Extra 中有 Using filesort 時, 表示 MySQL 需額外的排序操作, 不能通過索引順序達到排序效果. 一般有 Using filesort, 都建議優(yōu)化去掉, 因為這樣的查詢 CPU 資源消耗大.# 例如下面的例子:mysql> EXPLAIN SELECT * FROM order_info ORDER BY product_name G*************************** 1. row ***************************id: 1select_type: SIMPLEtable: order_infopartitions: NULLtype: indexpossible_keys: NULLkey: user_product_detail_indexkey_len: 253ref: NULLrows: 9filtered: 100.00Extra: Using index; Using filesort1 row in set, 1 warning (0.00 sec)我們的索引是KEY `user_product_detail_index` (`user_id`, `product_name`, `productor`)但是上面的查詢中根據(jù) product_name 來排序, 因此不能使用索引進行優(yōu)化, 進而會產(chǎn)生 Using filesort.如果我們將排序依據(jù)改為 ORDER BY user_id, product_name, 那么就不會出現(xiàn) Using filesort 了. 例如:mysql> EXPLAIN SELECT * FROM order_info ORDER BY user_id, product_name G*************************** 1. row ***************************id: 1select_type: SIMPLEtable: order_infopartitions: NULLtype: indexpossible_keys: NULLkey: user_product_detail_indexkey_len: 253ref: NULLrows: 9filtered: 100.00Extra: Using index1 row in set, 1 warning (0.00 sec)Using index“覆蓋索引掃描”, 表示查詢在索引樹中就可查找所需數(shù)據(jù), 不用掃描表數(shù)據(jù)文件, 往往說明性能不錯Using temporary查詢有使用臨時表, 一般出現(xiàn)于排序, 分組和多表 join 的情況, 查詢效率不高, 建議優(yōu)化.23.表最多可創(chuàng)建多少列,多少索引?前言: 網(wǎng)上關(guān)于一張mysql表最多可以創(chuàng)建多少個索引?基本就是兩種答案,一種是不限制,一種是16列, 我認(rèn)為16的由來應(yīng)該網(wǎng)上傳著傳著給扭曲, 因為mysql的單個索引最多能包括16列,但是這個是一個索引包含幾列的答案而不是一張可以建多少個索引.真的是誤導(dǎo)人啊!因為mysql的一些限制跟具體存儲引擎有關(guān),為此以下只列出我們最常用的innoDB和myisam,其他存儲引擎的具體限制可以去官網(wǎng)找.innoDB: 最多創(chuàng)建1017列, 最多64個二級索引, 單個索引最多包含16列, 索引最大長度767字節(jié)(其實行格式為REDUNDANT,COMPACT最高為767字節(jié),但行格式為DYNAMIC,COMPRESSED最高可達為3072字節(jié)), 行大小最大65536字節(jié)mysiam: 最多4096列, 最多64個二級索引, 單個索引最多包含16列, 索引最大長度1000字節(jié), 行大小最大65536字節(jié)mysql官方文檔地址innoDB限制的官方文檔: https://dev.mysql.com/doc/refman/8.0/en/innodb-limits.htmlmyisam限制的官方文檔: https://dev.mysql.com/doc/refman/8.0/en/myisam-storage-engine.html這個問題要根據(jù)Mysql具體版本,具體引擎來回答.
24.為什么最好建立一個主鍵?主鍵是數(shù)據(jù)庫確保數(shù)據(jù)行在整張表唯一性的保障,即使業(yè)務(wù)上本張表沒有主鍵,也建議添加一個自增長的ID列作為主鍵.設(shè)定了主鍵之后,在后續(xù)的刪改查的時候可能更加快速以及確保操作數(shù)據(jù)范圍安全.
25.字段為什么要求建議為not null?MySQL官網(wǎng)這樣介紹:


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!

「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助: