mysql text查找性能_MySQL TEXT字段性能
I now know that TEXT fields are written to disk rather than in memory when queried
僅當(dāng)查詢需要臨時表來存儲多個排序或聚合操作的中間結(jié)果時,TEXT字段才會寫入磁盤.例如,當(dāng)您在單個查詢中的不同列上混合使用DISTINCT,ORDER BY和GROUP BY時,會發(fā)生這種情況.
如果您的TEXT列不是此臨時表的一部分,MySQL將首先嘗試使用MEMORY引擎(不支持TEXT)創(chuàng)建它.
只有當(dāng)此表的大小超過@@ tmp_table_size或者M(jìn)EMORY不支持某些列時,才會選擇臨時表的MyISAM引擎.
對于這樣的查詢:
SELECT id
FROM tbExam
,根本不需要臨時表.
InnoDB存儲引擎插件(負(fù)責(zé)InnoDB和MySQL之間的交互)的行為與TEXT和VARCHAR字段的行為略有不同:VARCHAR字段按值傳遞到記錄集緩沖區(qū),而TEXT字段通過引用傳遞.
在內(nèi)部,InnoDB以相同的方式存儲TEXT和VARCHAR字段:如果整列適合頁面的一半,則為行內(nèi),否則為行外.上述差異僅涉及InnoDB / MySQL交互問題.
如果您不查詢這些字段,則根本沒有區(qū)別.
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的mysql text查找性能_MySQL TEXT字段性能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 巨人首款全球化国战手游《无主王座》亮相C
- 下一篇: 大宇经典游戏《轩辕剑叁 云和山的彼端》今