yuantel_个人页

个人头像照片 yuantel
个人头像照片
0
2
0

个人介绍

暂无个人介绍

擅长的技术

  • Linux
  • 数据库
获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2014-12-24

    DBA专家门诊一期:索引与sql优化

    回47楼yuantel的帖子 对第一个语句,我尝试去掉Left Join,仍然还有此问题,所以比较困惑 mysql> explain SELECT b.brand_id, b.brand_name, COUNT(*) AS goods_num FROM `hcsyw`.`ecs_brand`AS b, `hcsyw`.`ecs_goods` AS g   WHERE g.brand_id = b.brand_id AND g.cat_id='1671'  AND b.is_show = 1  AND g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 GROUP BY b.brand_id HAVING goods_num > 0 ORDER BY b.sort_order, b.brand_id ASC; +----+-------------+-------+--------+-------------------------------------------------------+---------+---------+------------------+------+----------------------------------------------+ | id | select_type | table | type   | possible_keys                                         | key     | key_len | ref              | rows | Extra                                        | +----+-------------+-------+--------+-------------------------------------------------------+---------+---------+------------------+------+----------------------------------------------+ |  1 | SIMPLE      | g     | ref    | cat_id,brand_id,idx_catid_isdel_ison,idx_sal_sort_gid | cat_id  | 2       | const            | 1826 | Using where; Using temporary; Using filesort | |  1 | SIMPLE      | b     | eq_ref | PRIMARY,is_show                                       | PRIMARY | 2       | hcsyw.g.brand_id |    1 | Using where                                  | +----+-------------+-------+--------+-------------------------------------------------------+---------+---------+------------------+------+----------------------------------------------+ 2 rows in set (0.00 sec) ------------------------- 回49楼玄惭的帖子 mysql> show create table ecs_brand; | Table     | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | | ecs_brand | CREATE TABLE `ecs_brand` (   `brand_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,   `brand_name` varchar(60) NOT NULL DEFAULT '',   `brand_logo` varchar(80) NOT NULL DEFAULT '',   `brand_desc` text NOT NULL,   `site_url` varchar(255) NOT NULL DEFAULT '',   `sort_order` tinyint(3) unsigned NOT NULL DEFAULT '50',   `is_show` tinyint(1) unsigned NOT NULL DEFAULT '1',   `brand_name1` varchar(60) DEFAULT NULL,   `lang_flag` int(2) DEFAULT '0',   PRIMARY KEY (`brand_id`),   KEY `is_show` (`is_show`),   KEY `idx_sort` (`sort_order`) ) ENGINE=MyISAM AUTO_INCREMENT=52167 DEFAULT CHARSET=utf8 | mysql> show create table ecs_goods; | Table     | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | | ecs_goods | CREATE TABLE `ecs_goods` (   `goods_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,   `cat_id` smallint(5) unsigned NOT NULL DEFAULT '0',   `goods_sn` varchar(60) NOT NULL DEFAULT '',   `goods_name` varchar(120) NOT NULL DEFAULT '',   `goods_name_style` varchar(60) NOT NULL DEFAULT '+',   `click_count` int(10) unsigned NOT NULL DEFAULT '0',   `brand_id` smallint(5) unsigned NOT NULL DEFAULT '0',   `provider_name` varchar(100) NOT NULL DEFAULT '',   `goods_number` smallint(5) unsigned NOT NULL DEFAULT '0',   `goods_weight` decimal(10,3) unsigned NOT NULL DEFAULT '1.000',   `market_price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00',   `shop_price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00',   `promote_price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00',   `promote_start_date` int(11) unsigned NOT NULL DEFAULT '0',   `promote_end_date` int(11) unsigned NOT NULL DEFAULT '0',   `warn_number` tinyint(3) unsigned NOT NULL DEFAULT '1',   `keywords` varchar(255) NOT NULL DEFAULT '',   `goods_brief` varchar(255) NOT NULL DEFAULT '',   `goods_desc` text NOT NULL,   `goods_thumb` varchar(255) NOT NULL DEFAULT '',   `goods_img` varchar(255) NOT NULL DEFAULT '',   `original_img` varchar(255) NOT NULL DEFAULT '',   `is_real` tinyint(3) unsigned NOT NULL DEFAULT '1',   `extension_code` varchar(30) NOT NULL DEFAULT '',   `is_on_sale` tinyint(1) unsigned NOT NULL DEFAULT '1',   `is_alone_sale` tinyint(1) unsigned NOT NULL DEFAULT '1',   `is_shipping` tinyint(1) unsigned NOT NULL DEFAULT '0',   `integral` int(10) unsigned NOT NULL DEFAULT '0',   `add_time` int(10) unsigned NOT NULL DEFAULT '0',   `sort_order` smallint(4) unsigned NOT NULL DEFAULT '100',   `is_delete` tinyint(1) unsigned NOT NULL DEFAULT '0',   `is_best` tinyint(1) unsigned NOT NULL DEFAULT '0',   `is_new` tinyint(1) unsigned NOT NULL DEFAULT '0',   `is_hot` tinyint(1) unsigned NOT NULL DEFAULT '0',   `is_promote` tinyint(1) unsigned NOT NULL DEFAULT '0',   `bonus_type_id` tinyint(3) unsigned NOT NULL DEFAULT '0',   `last_update` int(10) unsigned NOT NULL DEFAULT '0',   `goods_type` smallint(5) unsigned NOT NULL DEFAULT '0',   `seller_note` varchar(255) NOT NULL DEFAULT '',   `give_integral` int(11) NOT NULL DEFAULT '-1',   `rank_integral` int(11) NOT NULL DEFAULT '-1',   `suppliers_id` smallint(5) unsigned DEFAULT NULL,   `is_check` tinyint(1) unsigned DEFAULT NULL,   `num_iid` bigint(11) NOT NULL DEFAULT '0',   `nick` varchar(100) DEFAULT NULL,   `click_url` text,   `shop_title` varchar(180) DEFAULT NULL,   `shop_click_url` varchar(255) DEFAULT NULL,   `item_location` varchar(60) DEFAULT NULL,   `volume` int(11) DEFAULT NULL,   `commission_rate` decimal(10,2) DEFAULT NULL,   `commission` decimal(10,2) DEFAULT NULL,   `commission_num` int(11) DEFAULT NULL,   `commission_volume` decimal(10,2) DEFAULT NULL,   `post_fee` decimal(10,2) DEFAULT NULL,   `express_fee` decimal(10,2) DEFAULT NULL,   `ems_fee` decimal(10,2) DEFAULT NULL,   `seller_credit_score` varchar(120) DEFAULT NULL,   `is_tbao` tinyint(1) unsigned NOT NULL DEFAULT '0',   `procotent` varchar(40) DEFAULT NULL,   `lang_flag` int(2) DEFAULT '0',   PRIMARY KEY (`goods_id`),   KEY `goods_sn` (`goods_sn`),   KEY `cat_id` (`cat_id`),   KEY `last_update` (`last_update`),   KEY `brand_id` (`brand_id`),   KEY `goods_weight` (`goods_weight`),   KEY `promote_end_date` (`promote_end_date`),   KEY `promote_start_date` (`promote_start_date`),   KEY `goods_number` (`goods_number`),   KEY `sort_order` (`sort_order`),   KEY `idx_catid_isdel_ison` (`cat_id`,`is_delete`,`is_on_sale`),   KEY `idx_gid_bid_cid_onsal_isdel_gnum` (`goods_id`,`brand_id`,`cat_id`,`is_delete`,`is_on_sale`,`goods_name`),   KEY `idx_sal_sort_gid` (`is_on_sale`,`sort_order`,`goods_id`),   KEY `idx_gid_sort` (`goods_id`,`sort_order`),   KEY `idx_sort_gid` (`sort_order`,`goods_id`) ) ENGINE=MyISAM AUTO_INCREMENT=1029092 DEFAULT CHARSET=utf8
    踩0 评论0
  • 提交了问题 2014-12-23

    如何建立该语句的索引方可以避免UsingtemporaryUsingfilesort

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息