控制select和insert在1毫秒内?解决方法
发布时间:2010-05-24 21:18:37 文章来源:www.iduyao.cn 采编人员:星星草
控制select和insert在1毫秒内?
有这样一个表mytable
A bigint(20) primary key.
B varchar(2000),
C varchar(500),
D tinyint(2).
表中有300万条记录。现在要select * from mytable where A=? 这样的语句处理时间小于1毫秒,insert,update操作也是很简单的insert mytable (A,B,C,D) values(?,?,?,?); update也是单表根据key更新。
我测试大部分时间都超过1毫秒了,偶然小于1毫秒,大家有什么优化方案没有,数据库我用MYSQL好像还达不到这个要求,也许是我的技术问题吧. 反正这些都是可选择的,可以用其他数据库。
我想了,更新和插入可以采取异步更新到数据库的方式,但是查询呢??
说明:如果同时把这些数据存在应用系统的内存,是可以解决的,但是耗费内存太大,而且不能持久保存,所以单纯这个方案否定了。
大家帮忙看看,谢谢了。
------解决方案--------------------
我也想知道
------解决方案--------------------
行不行的
------解决方案--------------------
SELECT 可以通过把整个表的所有字段都建成INDEX试试
INSERT和UPDATE不清楚该怎么实现?
------解决方案--------------------
partion分区,SQL2005有这个功能,不知道MySQL有没有。
在多CPU情况下效果明显,胡百敬书里有按时间分区的例子,代码有点长,自己去找吧。
建了索引后,对于大表Insert,Update都要花费时间长,分区后就相当于在小表上操作。
还有你可以异步多线程操作,就是发出指令就返回,让过程自己去搞,看起来是一瞬间,欺骗观众,实际还是多线程排队自己去处理。
还有一些小字典表你可以提前缓存起来到客户端哈希表中(比如在网站服务开始的时候就花点时间,把数据库里所有500行记录以内的数据缓存,大概就几兆内存而已),可以避免大多数inner join ,只在显示的时候把数据根据key-value对应上,哈希表O(1)的查找特性还是比较爽的,加上你节省的往返数据库通讯的时间成本,可以提升性能。这在系统架构上要改进。
大量数据插入,做输入缓存,利用bulk insert ,比如以前做的一个抗日投票,一天就600多万条记录插入,可以做输入缓存,比如缓存到类似Application这样的静态全局变量里就可以,达到一定行数,假设100,这次访问的倒霉蛋,执行一次批量插入,这比每秒执行几次插入n次,系统开销要小得多。
分布式缓存,适合在多处服务调用数据的情况下,假设你们公司的某个业务,历史上有多个服务器要调用,那么大家都不要连数据库,都去某一个服务器去取,只有这个服务器连数据库,比如大家都可以取用户信息,在MemCache服务器上,保存着用户实例,包括Session等还可以实现同步。MemCache服务是个巨大的哈希表,一般会有4G以上的内存。你也可以把所有对象序列化放进去,缺点是有个反序列化和通讯的过程。不过微软WCF架构已经支持了泛型。
------解决方案--------------------
小于1毫秒是没必要的,只要用户所有的等待不超过5秒,就是很正常的程序了。
10秒是可以接受的程序,1秒就是很优秀的程序。
------解决方案--------------------
顶
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
分享并总结一下公司的SQL规范。
SQL code
1.用log4j记录SQL, 不用System.out.println()。并且通过log4j记录sql语句用时多少, 性能...
-
【急】大型数据库的存储方案
题目:通过网上调研,完成一个大型数据库的存储方案。
------解决方案--------------------
网上调研
...
-
count
t-sql中,count的执行效率如何 例如一表中有500W条数据,rid是自增+主键,要统计总数用count(rid) 合适不?欢迎高手给出明确答案...
-
所有积分求:每年1000G数据解决方案
现在数据库一查就卡死 有什么解决方案吗
------解决方案--------------------
一天3G,还行吧...
-
问个关于数据库设计的问题
在数据库设计的时候 有主键外键的关联
可是我们实际做一些系统的时候 需要在数据库上设置外键吗?
比如 ...
-
系统性能优化问题
各位好!
在系统中存在A,B两张表,这两张表中的数据数据增长都比较迅速(每月增长20万条),两张表中都有唯一键用来对...
-
c2c电子商务网站关于商品表的建立
目前在做一个c2c电子商务网站,主要是想借此提高自己的水平,现在遇到的问题就是不知道商品表是建...
-
老大:帮忙设计一下数据库
我想做一个RSS资讯聚合网站,把所有的RSS订阅信息缓存进数据库,再被页面调用。
数据表大致需要以下字段:
id...
-
请问各位哪里有《数据库系统概念》免费版电子书下载!急
请问各位哪里有《数据库系统概念》免费版电子书下载!急
------解决方案---...
-
Oracle专家调优秘密
在过去的十年中,Oracle已经成为世界上最专业的数据库之一。对于IT专家来说,就是要确保利用Oracle的强大特性来...