MyISAM对大字段表的查询支持

问:我有一个表用MyISAM做存储引擎,其中含有三个BLOG字段用来存图片,当这个表有1800多条记录时,对主键进行查询(不查三个BLOG字段),需要要20多秒。当把存储引擎换成InnoDB时,几乎瞬间完成。

我不明白,不是MyISAM比较快吗,还是MyISAM对大字段查询支持不太好。

答:mysql对于myisam 表,只会把索引放到内存里面, data文件用的是操作系统的I/O buffer.

innodb 索引和数据都是同一个文件,在内存足够的情况下,其实都在内存里面..

另外,不建议用mysql来存放数据...图片,大文件这种.. 效率比较低

时间: 2024-09-15 13:12:21

MyISAM对大字段表的查询支持的相关文章

Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)

为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了.但是只支持了一些简单的.常用的条件查询,支持的力度很有限.特别是遇到对聚合对象的查询时,就不能再使用 Linq,而只能通过构造底层查询树的接口来完成了.由于开发者的聚合查询的需求越来越多,所以本周我们将这部分进行了增强. 接下来,本文将说明 Rafy 框架原来支持的 Linq 语法,以及最新加入的聚合查询支持及用法.   使用 Linq 查询的代码示例 public WarehouseList G

Android摄像头开发完美demo---(循环聚焦,缩放大小,旋转picture,查询支持的picturesize, ImageButton按键效果)

这个代码几乎涉及到了摄像头开发的所有方面,(除了PreviewCallback,这块东西我会结合android摄像头自动识别人脸/火灾来谈),且力求精简,是杂家的心血阿!相对之前改进之处有: 1,精简.只有一个ImageButton用来实现按下拍照.拍照后自动保存,进入预览界面. 不像原来的要三个按键:预览/拍照/保存. 2,聚焦方面实现不间断循环聚焦. 不像之前的,要按一下按键聚焦一次. 3,ImageButton增加了按下的效果.按之前示例如下:,点击后背景变暗,有种风车旋转的感觉. 4,增

mootools框架【八】-Dom篇:Css查询支持之Dom.js

说明:mootools支持通过Css选择器语法来获取元素节点,以最少的代码做最多的事情.在Dom.js中提供了实现这些功能的工具方法以及元素级的扩展. 1.方法:$E 作用:按照css选择器语法获取第一个符合规则的元素 参数: selector:css选择器,如a,#my_div等 filter:可选,过滤范围,默认是document 例子: <div id="myDiv"> <a href="#" id="link1">

Oracle带大字段表记录暴增(LOBSEGMENT)引发的悲剧

事件起因:ORACLE主库进行例行周期性停机后应用相关人员确认数据交换程序时未发现交换异常, 导致该交换程序连接其中一个数据库成功,连接另外一个数据库失败,因此不断的向连接成功的数据库的状态控制表中写入交换异常的数据,而控制表中有CLOB字段记录所有的出错信息.该程序在周末跑了约24H,导致产生120W条垃圾数据,耗费表空间10G以上. 故障定位处理过程: 1.发现监控系统报告USERS表空间99%使用率 我们通过如下语句查USERS表空间有哪些对象 故障定位处理过程: 1.发现监控系统报告US

SQL Server 2005 提供的分页查询支持

今天刚刚看到,没有测试性能.SELECT * FROM (select ROW_NUMBER() Over(order by CreditCardID) as rowNum, *from Sales.CreditCard) as tablewhere rowNum> 0 and rowNum<50

c#-C#操作mysql数据库 不支持中文查询

问题描述 C#操作mysql数据库 不支持中文查询 例如 select * from testdata where name='张2Q' 在navicat里面运行很正常 ,结果很正确 但是在C#里面执行,死活没有结果.如果换成select * from testdata where name='ss' 这两个的结果都对,这是为什么呀?找来找去发现就是因为C#查询的时候不支持中文,怎么解决呀?大神们帮帮忙. 解决方案 统一用utf8等编码试试. 解决方案二: C#查询支持中文的,你看看是不是你数据

Mysql 存储引擎中InnoDB与Myisam的主要区别

1, 事务处理 innodb 支持事务功能,myisam 不支持. Myisam 的执行速度更快,性能更好. 2,select ,update ,insert ,delete 操作 MyISAM:如果执行大量的SELECT,MyISAM是更好的选择 InnoDB:如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表 3,锁机制不同 InnoDB 为行级锁,myisam 为表级锁. 注意:当数据库无法确定,所找的行时,也会变为锁定整个表. 如: update

mysql 临时表和内存表创建 查询 删除以及注意事项

mysql教程 临时表和内存表创建 查询 删除以及注意事项 临时表和内存表的engine 不同,临时表默认的是myisam,而内存表是memory ,临时表只对当前会话可见,连接断开时,自动删除! 你不必担心所创建的临时表的名称会和其他会话建立的临时表.或非临时表冲突!注意如果你的临时表和正常表名称相同,正常表会被隐藏--如同全局变量和局部变量那样 创建临时表不会引发通常的commit事务提交 临时表 create temporary table tmp_table 创建一个临时表 create

mysql更改表引擎INNODB为MyISAM的方法总结

常见的mysql表引擎有INNODB和MyISAM,主要的区别是INNODB适合频繁写数据库操作,MyISAM适合读取数据库的情况多一点,如何把表引擎INNODB更改为MyISAM呢? 使用以下mysql sql语句,可以给表设定数据库引擎: ALTER TABLE `wp_posts` ENGINE = MyISAM; 在需要使用mysql的全文索引(FULLTEXT index)的时候,这张表的数据库引擎必须是MyISAM类型.关于INNODB为MyISAM数据库引擎有什么具体区别 例子 修