mysql中的临时表用在什么地方比较好
2012-03-29 16:43
274 查看
最近在写的项目中,返回周边列表的存储过程折磨了我好久,由于排序的几个字段都是从其他表来得到的。终于通过建立一个额外的记录表,平时签到的时候,将相应的记录做记录,所以返回周边列表的时候这些字段可以直接从表中搜索到,而且用了索引所以很快。
但是还有一个字段是实时的,所以要在执行存储过程的时候来求得。开始准备用一个临时表,从一个表中一次性通过count ..group by来得到所有的字段,并且插入临时表中,这个操作的确很快,下次取出这些值并以此排序的时候可以直接根据一个条件从临时表中得到。但是的确还是很慢,用的是heap表。因为临时表不能建立索引,所以根据条件取值还是比较慢的,如此建立索引表还不如建立一个真实的表。可以建立临时表,可以用来存储全部要用来操作的数据,而不用根据条件去选取记录来操作。而建立真实的表一定要注意并发的问题,建议如果时间不长的话,采取锁表操作来保证操作的一致性。
但是还有一个字段是实时的,所以要在执行存储过程的时候来求得。开始准备用一个临时表,从一个表中一次性通过count ..group by来得到所有的字段,并且插入临时表中,这个操作的确很快,下次取出这些值并以此排序的时候可以直接根据一个条件从临时表中得到。但是的确还是很慢,用的是heap表。因为临时表不能建立索引,所以根据条件取值还是比较慢的,如此建立索引表还不如建立一个真实的表。可以建立临时表,可以用来存储全部要用来操作的数据,而不用根据条件去选取记录来操作。而建立真实的表一定要注意并发的问题,建议如果时间不长的话,采取锁表操作来保证操作的一致性。
相关文章推荐
- MySQL的读写分离用什么软件比较好?
- MySql 局部-全局临时表 temporary表是session级的,创建后用show tables也看不到它。
- 什么情况下可能出现临时对象?
- MySQL中information_schema是什么
- 什么情况下需要创建MySQL索引?
- mysql-bin.index 是什么内容呢??
- java初学者看什么书比较好
- 你的变量究竟存储在什么地方 && 全局内存 分类: VC++ 2014-06-20 10:36 375人阅读 评论(0) 收藏
- 你的变量究竟存储在什么地方 && 全局内存【转】
- 网络socket编程中UDP和TCP一般用在什么地方?
- 安装的php httpd配置文件在什么地方
- JavaScript的应用在什么地方?
- 爬虫工程师最牛逼的地方是什么???
- git比较好用的几个地方
- mysql中容易混淆的地方
- [转帖]通常你会在什么地方遇到DBNull?
- [MySQL]关于amd.dll后门病毒入侵3306端口的临时解决方案
- java初学者看什么书比较好
- MySql中delimiter的作用是什么?
- MySQL中的两种临时表