jake老大。。求助

#1 ssmh01

我想问问开发程序前期规划用什么软件方便点》?大概开发步骤如何效率高?我现在规划都是自己用笔写。。不方便,而且效率地,每写到一定阶段后就发现程序结构不行。。只能重构。。如何写出的扩展性好的程序?还有个问题。。我有个数据库是记录聊天记录的。。大概每天数据量80W-100W条。。搜索数据老是出现这个问题:

SELECT COUNT(id) AS SP_COUNTER FROM bot_log WHERE api = '16' AND (time < '2013-05-27 23:59:59' and time > '2013-05-27 00:00:01')
执行错误: Select on too many rows
最后一个问题就是。。我的聊天记录总数据大概接近两千万。。怎样才能提高检索效率?mysql索引该如何建?
大概就是这些。。。希望jake老大别嫌我问题多。。。我以前是c程序员。。最近几个月才学PHP的。。php的helloword都是由speedphp开始的。。。最后祝speedphp越做越好。

2013-05-27 16:14:11

#2 jake

我想问问开发程序前期规划用什么软件方便点》?

一般进阶都是“纸笔 -> visio -> uml工具(如ea)”,uml如果太复杂建议用visio画简单流程图会更好些。

大概开发步骤如何效率高?

要看开发的项目是什么样子的,手册这里有比较详细的说明:http://www.speedphp.com/thread-3826-1-1.html

我现在规划都是自己用笔写。。不方便,而且效率地,每写到一定阶段后就发现程序结构不行。。只能重构。。

用visio吧,不过估计你还要多写程序,很少见有连程序结构都需要重构的情况。

如何写出的扩展性好的程序?

理解MVC,把该放哪儿的功能放哪儿,手册入门教程有说明。

还有个问题。。我有个数据库是记录聊天记录的。。大概每天数据量80W-100W条。。搜索数据老是出现这个问题:

SELECT COUNT(id) AS SP_COUNTER FROM bot_log WHERE api = '16' AND (time < '2013-05-27 23:59:59' and time > '2013-05-27 00:00:01')
执行错误: Select on too many rows

一般我们会用时间戳来存储时间,而不用mysql的datetime类型,你试试改时间戳后再查查看。

最后一个问题就是。。我的聊天记录总数据大概接近两千万。。怎样才能提高检索效率?

理清思路,做索引,减少外联,分表。比如说聊天记录你可以用用户的ID进行除10取余,然后把整个聊天记录就分成10个表,看用户ID是多少就查哪个表的。

mysql索引该如何建?

百度一下,这是很基础的。


2013-05-27 16:42:58

#3 ssmh01

谢谢jake老大。学习了。很少见那么负责的框架作者了。。顶一个。。以前我都是用c写一些营销软件,站群什么的。。php也才刚接触几个月。。看来还得多多学习。。这次php写的系统对我来说是比较复杂的。。总管理-》总代理商-》代理-》旗下用户-》管理多个账号。。然后每个账号一堆不同功能的设计。。现在打算第四次重构。。。话说mysql表设计又没啥好点的方法规划?

2013-05-28 14:51:43

#4 jake

ssmh01 发表于 2013-5-28 14:51
谢谢jake老大。学习了。很少见那么负责的框架作者了。。顶一个。。以前我都是用c写一些营销软件,站群什么 ...
数据库设计,用ER图。简单用就行。visio之类的就有,复杂点的像ea或者powerbuilder之类的。

2013-05-28 15:48:12