status BTREE 否 否 status 6 A
type BTREE 否 否 type 2 Astatus,type都做独立索引,都是tinyint(1)型查询条件跟status=1有索引效果,查询条件跟type=1没有索引效果
type BTREE 否 否 type 2 Astatus,type都做独立索引,都是tinyint(1)型查询条件跟status=1有索引效果,查询条件跟type=1没有索引效果
应该是你定义时造成的我做了多次测试,都无法再现你的场景
EXPLAIN SELECT *
FROM `zy_order`
WHERE STATUS =1EXPLAIN SELECT *
FROM `zy_order`
WHERE TYPE =1
sql语句也完全一样,都是有数据查出的
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1:商品 2:云购 3:兑换商品',
`source` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1:标准订单PC 2:WAP 3:APP',
`title` varchar(30) NOT NULL,
`order_sn` varchar(64) NOT NULL COMMENT '我方订单号',
`mo_sn` varchar(64) NOT NULL COMMENT '合并支付订单号',
`payment_mode` tinyint(1) NOT NULL DEFAULT '1' COMMENT '支付方式 1:在线支付 2:到付(线下支付)',
`payment_company` char(15) NOT NULL COMMENT '支付公司',
`payment_channel` char(15) NOT NULL COMMENT '支付渠道',
`pay_order_id` varchar(200) NOT NULL COMMENT '支付订单号',
`total_fee` decimal(10,2) unsigned NOT NULL COMMENT '订单总金额',
`bond` decimal(8,2) unsigned NOT NULL COMMENT '保证金',
`balance_fee` decimal(10,2) NOT NULL COMMENT '网站付款',
`shipping_fee` smallint(3) unsigned NOT NULL COMMENT '物流费',
`insure_fee` decimal(8,2) unsigned NOT NULL COMMENT '保价费',
`discount_fee` decimal(8,2) unsigned NOT NULL COMMENT '优惠费用:网站折扣减免',
`coupons_fee` decimal(8,2) unsigned NOT NULL COMMENT '优惠券费用',
`score_fee` decimal(8,2) unsigned NOT NULL COMMENT '积分费用',
`actual_paid` decimal(10,2) unsigned NOT NULL COMMENT '实付款(所有正向金额累加,不考虑退款)',
`actual_refund` decimal(10,2) NOT NULL COMMENT '订单退款总金额(所有逆向金额累加)',
`tax_fee` decimal(10,2) NOT NULL COMMENT '税费',
`tax_title` varchar(30) NOT NULL COMMENT '发票抬头',
`tax_content` varchar(60) NOT NULL COMMENT '发票内容',
`member_id` int(10) unsigned NOT NULL COMMENT '买家信息',
`member_name` varchar(30) NOT NULL,
`seller_id` int(10) NOT NULL COMMENT '卖家信息',
`agent_id` int(10) NOT NULL COMMENT '代理商id',
`recipient` char(15) NOT NULL COMMENT '收件人',
`pv_id` smallint(2) unsigned NOT NULL,
`ct_id` smallint(4) unsigned NOT NULL,
`dist_id` smallint(4) unsigned NOT NULL,
`address` varchar(255) NOT NULL,
`zip_code` char(15) NOT NULL,
`mobile` varchar(45) NOT NULL,
`memo` varchar(255) NOT NULL COMMENT '备注',
`ip` varchar(50) NOT NULL,
`delivery_id` int(10) unsigned NOT NULL COMMENT '关联配送方式id',
`create_time` int(11) unsigned NOT NULL COMMENT '订单创建时间',
`order_time` int(10) unsigned NOT NULL COMMENT '订单有效时间',
`pay_time` int(11) unsigned NOT NULL COMMENT '支付完成时间',
`delivery_time` int(10) unsigned NOT NULL COMMENT '发货时间',
`confirm_time` int(10) NOT NULL COMMENT '交易完成时间',
`is_refund` tinyint(1) NOT NULL DEFAULT '0' COMMENT '退款 0:无退款 1:有退款 2:退款完成',
`is_rate` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否评价',
`is_display` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否显示订单(用户)',
`delivery_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '物流状态 0:未发货1:已发货 2:已收货 -1:退货',
`pay_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '支付状态 0:未支付 1:已支付',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0:待确认 1:已确认 2:确认收货 -1:关闭',
PRIMARY KEY (`id`),
KEY `member_id` (`member_id`),
KEY `status` (`status`),
KEY `type` (`type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='订单管理' AUTO_INCREMENT=65 ;
重新插入数据就可以
把老数据导入新建表,查询就不行
奇怪的是type字段不行,status字段可以,这让我很疑惑