我正在建立一个有桌子的网站:电影和剧集
每个页面都有:
第一个字符列表......“电影名称的开头是什么?”
(管理员定义的数量)最多下载(计算下载量)
(管理员定义的数量)最新更新
如果用户搜索了搜索结果或用户
选择了以它开头的名字的第一个字符列表...... 所以我想问的是: 我应该为每个人分别进行查询,例如:
1. "SELECT * FROM movies ORDER BY name" /* then check the first Characters */
2. "SELECT * FROM movies ORDER BY downloads_count DESC LIMIT :lim", array(":lim"=>NUMBER_TO_SHOW)
3. "SELECT * FROM movies ORDER BY last_update DESC LIMIT :lim", array(":lim"=>NUMBER_TO_SHOW)
4. "SELECT * FROM movies ORDER BY WHERE name LIKE :char name LIMIT :start, :end", array(":char"=>$first_char."%", ":start"=>$page_starting_number, ":end"=>$page_ending_number)
,或者每当我检查第一个字符与foreach(){}
匹配时,我应该填充名称并对其进行排序吗?
哪一个给服务器施加了较低的压力(因为我正在编程的服务器是一个忙碌的服务器而且我真的不喜欢把它炸掉......:|) (我听说过mysql缓存......它有多可靠?)
提前致谢
答案 0 :(得分:0)
最好在查询中执行此操作,因为数据库系统已经过优化以执行此操作。对于重复出现的查询,您可以使用Memcached
作为示例。