mysql关于时间的面试题,mysql时间设置默认值MySQL常见面试题
1、limit(選出10 到20 條)
select * from students order by id limit 9,10;
2、MySQL 會使用索引的操作符號
=,>,=,between,in,不帶%或者_開頭的like
3、使用索引的缺點
1)減慢增刪改數據的速度;
2)占用磁盤空間;
3)增加查詢優化器的負擔;
當查詢優化器生成執行計劃時,會考慮索引,太多的索引會給查詢優化
器增加工作量,導致無法選擇最優的查詢方案;
4、分析索引效率
方法:在一般的SQL 語句前加上explain;
分析結果的含義:
1)table:表名;
2)type:連接的類型,(ALL/Range/Ref)。其中ref 是最理想的;
3)possible_keys:查詢可以利用的索引名;
4)key:實際使用的索引;
5)key_len:索引中被使用部分的長度(字節);
6)ref:顯示列名字或者”const”(不明白什么意思);
7)rows:顯示MySQL 認為在找到正確結果之前必須掃描的行數;
8)extra:MySQL 的建議;
5、使用較短的定長列
1)盡可能使用較短的數據類型;
2)盡可能使用定長數據類型;
a)用char 代替varchar,固定長度的數據處理比變長的快些;
b)對于頻繁修改的表,磁盤容易形成碎片,從而影響數據庫的整體性
能;
c)萬一出現數據表崩潰,使用固定長度數據行的表更容易重新構造。
使用固定長度的數據行,每個記錄的開始位置都是固定記錄長度的倍數,可以很
容易被檢測到,但是使用可變長度的數據行就不一定了;
d)對于MyISAM 類型的數據表,雖然轉換成固定長度的數據列可以提高
性能,但是占據的空間也大;
6、使用not null 和enum
盡量將列定義為not null,這樣可使數據的出來更快,所需的空間更
少,而且在查詢時,MySQL 不需要檢查是否存在特例,即null 值,從而優化查
詢;
如果一列只含有有限數目的特定值,如性別,是否有效或者入學年份等,
在這種情況下應該考慮將其轉換為enum 列的值,MySQL 處理的更快,因為所有
的enum 值在系統內都是以標識數值來表示的;
7、使用optimize table
對于經常修改的表,容易產生碎片,使在查詢數據庫時必須讀取更多的
磁盤塊,降低查詢性能。具有可變長的表都存在磁盤碎片問題,這個問題對blob
數據類型更為突出,因為其尺寸變化非常大??梢酝ㄟ^使用optimize table 來
整理碎片,保證數據庫性能不下降,優化那些受碎片影響的數據表。 optimize
table 可以用于MyISAM 和BDB 類型的數據表。實際上任何碎片整理方法都是用
mysqldump 來轉存數據表,然后使用轉存后的文件并重新建數據表;
8、使用procedure analyse()
可以使用procedure analyse()顯示最佳類型的建議,使用很簡單,在
select 語句后面加上procedure analyse()就可以了;例如:
select * from students procedure analyse();
select * from students procedure analyse(16,256);
第二條語句要求procedure analyse()不要建議含有多于16 個值,或
者含有多于256 字節的enum 類型,如果沒有限制,輸出可能會很長;
9、使用查詢緩存
1)查詢緩存的工作方式:
第一次執行某條select 語句時,服務器記住該查詢的文本內容和查詢
結果,存儲在緩存中,下次碰到這個語句時,直接從緩存中返回結果;當更新數
據表后,該數據表的任何緩存查詢都變成無效的,并且會被丟棄。
2)配置緩存參數:
變量:query_cache _type,查詢緩存的操作模式。有3 中模式,0:不
緩存;1:緩存查詢,除非與 select sql_no_cache 開頭;2:根據需要只緩存
《mysql時間設置默認值MySQL常見面試題》總結了關于學習mysql教程,對于我們來W WW.002pc .COM確實能學到不少知識。
那些以select sql_cache 開頭的查詢; query_cache_size:設置查詢緩存的最
大結果集的大小,比這個值大的不會被緩存。
10、調整硬件
1)在機器上裝更多的內存;
2)增加更快的硬盤以減少I/O 等待時間;
尋道時間是決定性能的主要因素,逐字地移動磁頭是最慢的,一旦磁頭
定位,從磁道讀則很快;
更多:mysql時間設置默認值MySQL常見面試題
https://www.002pc.comhttps://www.002pc.com/mysql/5381.html
你可能感興趣的面試題,MySQL,常見
No alive nodes found in your cluster
0踩
賞
0 贊
總結
以上是生活随笔為你收集整理的mysql关于时间的面试题,mysql时间设置默认值MySQL常见面试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 点击文字可以选中相应的checkbox
- 下一篇: 2022-2028年中国二次元行业深度调