MySQL数据库优化总结 - 站长之家

MySQL数据库优化总结

2012-10-19 14:22 稿源: villion_博客园  0条评论

这个变态的积分规则用批处理读出来是这样的:

1 selectperson_id, @semester_id, 301003, 0, @one_marks, assign_date, @one_marks

2 fromhom_assignmentinfo ha, hom_assign_class hac

3 whereha.assignment_id = hac.assignment_id

4 andha.assign_date between@time_begin and@time_end

5 andha.assignment_id notin

6 (

7 selecthaa.assignment_id fromhom_assignment_appraise haa, hom_check_assignment hca

8 wherehaa.appraise_id = hca.appraise_id andhaa.if_submit=1

9 and(

10 (hca.recheck_state = 3004001 andhca.check_result in(3003002, 3003003) )

11 or

12 (hca.recheck_state = 3004002 andhca.recheck_result in(3003002, 3003003))

13 )

14 )

15 andha.assignment_id notin

16 (

17 selectassignment_id fromhom_assignment_appraise whereif_submit=0 andresult_type = 0

18 )

19 andha.assignment_id in

20 (

21 selecthaa.assignment_id fromhom_assignment_appraise haa, hom_check_assignment hca

22 wherehaa.appraise_id = hca.appraise_id andhaa.if_submit=1

23 andhca.check_result in(3003002, 3003003)

24 );

这还只是个中间过程,这要是用程序实时处理,即使编程人员不罢工,数据库也会歇了。

选择合适的引擎

Mysql提供了很多种引擎,我们用的最多的是myisam,innodb,memory这三类。官方手册上说道myisqm比innodb的读速度要 快,大概是3倍。不过书不能尽信啊,《OreIlly.High.Performance.Mysql》这本书里提到了myisam和innodb的比 较,在测试中myisam的表现还不及innodb。至于memory,哈哈,还是比较好用的。在批处理种作临时表是个不错的选择(如果内存够大)。在我的一个批处理中,速度比近乎1:10。

有好的文章希望站长之家帮助分享推广,猛戳这里我要投稿

相关文章

相关热点

查看更多