从纯粹的性能角度来看,您认为存储简单数据(预定义消息)会更好。你会说打开一个文件句柄,json_decode是一个“主题”和一个“正文”,然后关闭文件或查询数据库(SELECT subject
,body
FROM predefine
WHERE id ='message1',假设id是主键)。我将只有5-10个预定义的消息,但我想假设有数百个用户同时使用此应用程序。
答案 0 :(得分:4)
对于小文件,读取平面文件非常快......当您尝试搜索特定数据时,数据库的性能优势就会出现。如果您只是抓取特定文件(例如,基于文件名:msg_1.txt
,msg_2.txt
等),那么使用flatfile系统会更好。
也就是说,正如JB Nizet指出的那样,如果你只处理一些消息,请不要打扰...使用常量OR在PHP文件中创建一个可以include_once()
编辑的数组当你需要定义时:
$msg = array(
'msg1'=>array('sub'=>"subject",'body'=>"body Text"),
'msg2'=>array('sub'=>"subject 2",'body'=>"body Text 2"),
//...etc.
);
答案 1 :(得分:3)
如果消息是预定义且只读的,我只需将其(作为常量)硬编码到PHP源文件中。
如果确实发生了变化,请让数据库处理并发问题。按主键读取行非常快,特别是如果表中只有10行。这可能不是您的应用会遇到性能问题的地方。
答案 2 :(得分:1)
对于5-10条消息,平面文件效率更高。 MySQL是一个单独的进程,因此简单的跨进程通信将导致更多的CPU负载,然后解析一个小文件。在100条消息中,我会开始考虑一个更复杂的系统,就像一个简单的索引文件。即便如此,SQL也是一种矫枉过正。只有当您处于10000或100000条消息时,您才会开始看到数据库带来的好处。
答案 3 :(得分:0)