从纯性能的角度来看,您认为什么更适合存储简单数据(预定义的消息)。你会说打开一个文件句柄,选择一个“主题”和一个“主体”,然后关闭文件或查询一个数据库(假设id是主键,从predefine中选择subject,body =‘predefine1’)会更麻烦吗?我将只有5-10个预定义的消息,但是我想假设可能有数百个用户同时使用这个应用程序。
发布于 2012-01-31 05:17:27
读取平面文件对于小文件来说是非常快的。当您尝试查找特定数据时,数据库的性能优势就会显现出来。如果你只是抓取一个特定的文件(比如,基于文件名:msg_1.txt、msg_2.txt等),你最好使用平面文件系统。
也就是说,正如JB Nizet所指出的那样,如果你只处理几条消息,那就别费心了……使用常量或在PHP文件中创建一个数组,当您需要定义时,可以对其进行include_once():
$msg = array(
'msg1'=>array('sub'=>"subject",'body'=>"body Text"),
'msg2'=>array('sub'=>"subject 2",'body'=>"body Text 2"),
//...etc.
);发布于 2012-01-31 05:10:23
如果消息是预定义的并且是只读的,我会简单地将其硬编码(作为常量)到PHP源文件中。
如果它确实改变了,让数据库来处理并发问题。通过主键读取行的速度非常快,尤其是在表中只有10行的情况下。这可能不是你的应用程序会有性能问题的地方。
发布于 2012-01-31 05:13:48
对于5-10条消息,平面文件的效率要高得多。MySQL是一个单独的进程,所以简单的跨进程通信将导致更多的CPU负载,而不是解析小文件。有了100条消息,我会开始考虑更复杂的系统,比如一个简单的索引文件。即使这样,SQL也是一种过度的杀伤力。只有当您处理10000或100000条消息时,您才会开始看到数据库的好处。
https://stackoverflow.com/questions/9070775
复制相似问题