MySQL表设计优化与索引 (七)

来源:Asp之家 时间:2010-10-25 20:06:00 

如何避免磁盘临时表

因为内存储引擎不支持TEXT和BLOB数据类型, 使用到BLOB和TEXT列的查询和使用隐式临时表的查询将不得不使用MyISAM的磁盘临时表, 即使只有很少的几条记录。 这可能导致很严重的性能开销。即使把MySQL配置成在RAM盘上使用临时表, 也会用到一些开销大的系统调用(Maria存储引擎应该能通过把所有的东西, 而不只是索引,缓存在内存中而在一定程度上缓解这个问题)。最好的解决办法是避免使用BLOB和TEXT类型, 除非费用不可。

.

如果无法避免使用BLOB和TEXT类型, 应该能够通过使用ORDER BY SUBSTRING(column, length)

的办法来把这些类型的值转化成字符串,这样不会妨碍使用内存临时表。另外, 确认一下的所使用的子串的长度是否短到不会导致临时表的大小不会超过 max_heap_table_size 或 tmp_table_size, 否则,还是会生成MyISAM的磁盘临时表。

如果EXPLAIN结果中的”Extra”列里面包含”Using temporary”, 那么查询会使用一个隐式的临时表。


标签:mysql,索引,表
0
投稿

猜你喜欢

  • MySQLMerge存储引擎

    2024-01-14 07:39:25
  • python interpolate插值实例

    2022-05-06 08:20:37
  • 在Pycharm中项目解释器与环境变量的设置方法

    2023-12-31 02:49:53
  • 弹出对话框,点击跳出一个可拖动的层(对话框)

    2009-09-07 12:56:00
  • python从gbff文件中直接提取cds序列

    2023-05-29 16:10:35
  • django+celery+RabbitMQ自定义多个消息队列的实现

    2021-01-21 16:52:10
  • 如何用VScode配置Python开发环境

    2021-10-23 11:00:51
  • Python3爬虫发送请求的知识点实例

    2023-04-17 19:16:32
  • 在Python的Django框架中创建和使用模版

    2022-05-06 04:15:28
  • python函数与方法的区别总结

    2021-08-21 00:07:51
  • 设计评论表单[译]

    2009-03-25 20:41:00
  • SQL Server 数据库安全管理介绍

    2024-01-19 23:31:01
  • 对Pycharm创建py文件时自定义头部模板的方法详解

    2022-06-05 15:24:06
  • 使用vue实现HTML页面生成图片的方法

    2024-04-27 15:51:47
  • Spring Boot中使用Spring-data-jpa实现数据库增删查改

    2024-01-28 09:41:28
  • Pandas 数据框增、删、改、查、去重、抽样基本操作方法

    2023-07-25 14:50:07
  • Windows下MySQL安全权限设置方法

    2009-07-30 08:32:00
  • 网页设计之步骤和大局观

    2008-03-18 12:50:00
  • Django将默认的SQLite更换为MySQL的实现

    2024-01-14 15:45:15
  • asp利用xmlhttp抓取特定网页内容例子

    2008-10-10 12:58:00
  • asp之家 网络编程 m.aspxhome.com