本帖最后由 hmfsmile 于 2009-9-2 00:41 编辑
我数据库uc中的uc_friends表的数据总量和uch中的uchome_friend数据总量是不一样的。感觉应该是一样总数才对。为什么相差巨大。
另外我开启的慢查询为2秒。记录的数据慢查询90%为- SELECT f.*, m.username FROM `zhineiuc`.uc_friends f LEFT JOIN `zhineiuc`.uc_members m ON f.friendid=m.uid WHERE f.friendid='290901' AND f.direction='1' LIMIT 0, 999;
复制代码 类式的慢查询. 我随机取出几条记录在myqladmin 上执行返回在的数据全部都为0
能过搜索可以找到执行这个语句的php程序为:- function get_list($uid, $page, $pagesize, $totalnum, $direction = 0) {
- $start = $this->base->page_get_start($page, $pagesize, $totalnum);
- $sqladd = '';
- if($direction == 0) {
- $sqladd = "f.uid='$uid'";
- } elseif($direction == 1) {
- $sqladd = "f.uid='$uid' AND f.direction='1'";
- } elseif($direction == 2) {
- $sqladd = "f.friendid='$uid' AND f.direction='1'";
- } elseif($direction == 3) {
- $sqladd = "f.uid='$uid' AND f.direction='3'";
- }
- if($sqladd) {
- $data = $this->db->fetch_all("SELECT f.*, m.username FROM ".UC_DBTABLEPRE."friends f LEFT JOIN ".UC_DBTABLEPRE."members m ON f.friendid=m.uid WHERE $sqladd LIMIT $start, $pagesize");
- return $data;
- } else {
- return array();
- }
- }
复制代码 请问。
1:uc_friends表的数据总量和uch中的uchome_friend数据总量是否必须是一样的。
2:这个function get_list()是功能是什么?在什么地方被调用。如何才能避免这样的慢查询.我一天生成的慢查询有1M.90%都是这个。
3:如何优化。 |