国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php - MYSQL 索引優(yōu)化的經(jīng)典問(wèn)題,
某草草
某草草 2017-05-16 13:07:33
0
1
682

問(wèn)題如下:

就像這樣的

表結(jié)構(gòu)如下:

CREATE TABLE `lmx_app_category` (
  `id` int(11) NOT NULL DEFAULT '0' COMMENT '分類編號(hào)',
  `pid` tinyint(4) NOT NULL DEFAULT '1' COMMENT '分類的類型(目前兩個(gè) 1:應(yīng)用,2:游戲)',
  `name` varchar(50) NOT NULL COMMENT '分類名稱',
  PRIMARY KEY (`cat_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='應(yīng)用分類表';

CREATE TABLE `lmx_apps` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'app編號(hào)',
  `cat_id` int(11) NOT NULL DEFAULT '0' COMMENT '分類編號(hào)',
  `name` varchar(100) NOT NULL COMMENT 'app名稱',
  `year` char(5) NOT NULL DEFAULT '0' COMMENT '年份',
  `down_count` bigint(20) NOT NULL DEFAULT '0' COMMENT '下載量',
  `hit_count` bigint(20) DEFAULT '0' COMMENT '搜索量',
  PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


我現(xiàn)在建立了兩個(gè)聯(lián)合索引:

但是這個(gè)兩個(gè)索引存在幾個(gè)問(wèn)題,如果我點(diǎn)擊搜尋全部 那麼 排序就不會(huì)走索引,怎麼解決這個(gè)搜尋分類時(shí)選擇 全部 不走索引的問(wèn)題、

走索引的 sql 如下:

    -- EXPLAIN 
 SELECT a.id,a.cat_id,a.`name`,a.down_count,b.`name` FROM `lmx_apps` a

 INNER JOIN `lmx_app_category` `b` 
 
 ON `a`.`cat_id`=`b`.`id`

  WHERE 
   a.cat_id = 103
    

   ORDER BY a.down_count DESC
    
 LIMIT 10,20
 
 

不走索引的 sql 如下

 SELECT a.id,a.cat_id,a.`name`,a.down_count,b.`name` FROM `lmx_apps` a

 INNER JOIN `lmx_app_category` `b` 
 
 ON `a`.`cat_id`=`b`.`id`

  -- WHERE 
  -- a.cat_id IN (SELECT cat_id FROM lmx_app_category WHERE orgame = 1)
  -- 當(dāng)沒(méi)有 cat_id 這個(gè)條件 或者這個(gè)條件為 in 時(shí) 

 ORDER BY a.down_count DESC
    
 LIMIT 10,20
某草草
某草草

全部回覆(1)
曾經(jīng)蠟筆沒(méi)有小新

現(xiàn)在想到另一個(gè)方案,就是

把應(yīng)用程式表的 cat_id欄位和cat_id 建立的索引刪掉

分類表(lmx_app_category)和應(yīng)用表(lmx_apps)建立一個(gè)關(guān)聯(lián)表,

欄位為 id,app_id,cat_id

在這個(gè)關(guān)聯(lián)表上面建立 索引,不知道這種方案怎麼樣

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板