表结构
CREATE TABLE `b_common_product` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT “id”,
`version` int(11) DEFAULT NULL COMMENT “版本”,
`createByUserCode` varchar(50) DEFAULT NULL COMMENT “创建人编码”,
`createByUserName` varchar(50) DEFAULT NULL COMMENT “创建人名称”,
`createTime` datetime DEFAULT NULL COMMENT “创建时间”,
`lastModifyByUserCode` varchar(50) DEFAULT NULL COMMENT “最后修改人编码”,
`lastModifyByUserName` varchar(50) DEFAULT NULL COMMENT “最后修改人名称”,
`lastModifyTime` datetime DEFAULT NULL COMMENT “最后修改时间”,
`status` varchar(10) DEFAULT NULL COMMENT “状态”,
`datasheetsUrl` varchar(500) DEFAULT NULL COMMENT “产品PDF.Iczoom网址 或 厂家网址”,
`brandUrl` varchar(255) DEFAULT NULL COMMENT “品牌网址”,
`imageUrl` varchar(255) DEFAULT NULL COMMENT “图片网址”,
`productPackaging` varchar(200) DEFAULT NULL COMMENT “包装”,
`productApplication` varchar(200) DEFAULT NULL COMMENT “应用”,
`series` varchar(200) DEFAULT NULL COMMENT “系列”,
`pn` varchar(200) DEFAULT NULL COMMENT “型号”,
`brand` varchar(200) DEFAULT NULL COMMENT “品牌”,
`cat_id` varchar(18) DEFAULT NULL COMMENT “类别Id”,
`encapsulate` varchar(200) DEFAULT NULL COMMENT “封装”,
`description` varchar(200) DEFAULT NULL COMMENT “产品描述”,
`sourcetype` varchar(20) DEFAULT NULL COMMENT “产品来源的类型”,
`workingTemperature` varchar(200) DEFAULT NULL COMMENT “工作温度”,
`voltageSource` varchar(200) DEFAULT NULL COMMENT “电压电源”,
`encapsulateShell` varchar(200) DEFAULT NULL COMMENT “封装外壳”,
`refClassName` varchar(200) DEFAULT NULL COMMENT “数据来源Class全名”,
`refId` varchar(20) DEFAULT NULL COMMENT “数据来源Id”,
`manufacturer` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_cat_id` (`cat_id`) USING BTREE,
FULLTEXT KEY `idx_pn` (`pn`)
) ENGINE=InnoDB AUTO_INCREMENT=3557736 DEFAULT CHARSET=utf8;
CREATE TABLE `b_common_product` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT “id”,
`version` int(11) DEFAULT NULL COMMENT “版本”,
`createByUserCode` varchar(50) DEFAULT NULL COMMENT “创建人编码”,
`createByUserName` varchar(50) DEFAULT NULL COMMENT “创建人名称”,
`createTime` datetime DEFAULT NULL COMMENT “创建时间”,
`lastModifyByUserCode` varchar(50) DEFAULT NULL COMMENT “最后修改人编码”,
`lastModifyByUserName` varchar(50) DEFAULT NULL COMMENT “最后修改人名称”,
`lastModifyTime` datetime DEFAULT NULL COMMENT “最后修改时间”,
`status` varchar(10) DEFAULT NULL COMMENT “状态”,
`datasheetsUrl` varchar(500) DEFAULT NULL COMMENT “产品PDF.Iczoom网址 或 厂家网址”,
`brandUrl` varchar(255) DEFAULT NULL COMMENT “品牌网址”,
`imageUrl` varchar(255) DEFAULT NULL COMMENT “图片网址”,
`productPackaging` varchar(200) DEFAULT NULL COMMENT “包装”,
`productApplication` varchar(200) DEFAULT NULL COMMENT “应用”,
`series` varchar(200) DEFAULT NULL COMMENT “系列”,
`pn` varchar(200) DEFAULT NULL COMMENT “型号”,
`brand` varchar(200) DEFAULT NULL COMMENT “品牌”,
`cat_id` varchar(18) DEFAULT NULL COMMENT “类别Id”,
`encapsulate` varchar(200) DEFAULT NULL COMMENT “封装”,
`description` varchar(200) DEFAULT NULL COMMENT “产品描述”,
`sourcetype` varchar(20) DEFAULT NULL COMMENT “产品来源的类型”,
`workingTemperature` varchar(200) DEFAULT NULL COMMENT “工作温度”,
`voltageSource` varchar(200) DEFAULT NULL COMMENT “电压电源”,
`encapsulateShell` varchar(200) DEFAULT NULL COMMENT “封装外壳”,
`refClassName` varchar(200) DEFAULT NULL COMMENT “数据来源Class全名”,
`refId` varchar(20) DEFAULT NULL COMMENT “数据来源Id”,
`manufacturer` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_cat_id` (`cat_id`) USING BTREE,
FULLTEXT KEY `idx_pn` (`pn`)
) ENGINE=InnoDB AUTO_INCREMENT=3557736 DEFAULT CHARSET=utf8;
SHOW INDEX FROM b_common_product
b_common_product 0 PRIMARY 1 id A 2896290 BTREE
b_common_product 1 idx_cat_id 1 cat_id A 304 YES BTREE
b_common_product 1 idx_pn 1 pn 2896290 YES FULLTEXT
EXPLAIN SELECT count(*) FROM b_common_product a WHERE INSTR(a.pn,"TLP109")
1 SIMPLE a ALL 2896290 Using where
SELECT count(*) FROM b_common_product a WHERE INSTR(a.pn,"TLP109")
[SQL]SELECT count(*) FROM b_common_product a WHERE INSTR(a.pn,”TLP109″)
受影响的行: 0
时间: 12.632s
解决方案
20
pn可以建立全文索引
30
LIKE %X% 这种无法直接优化,只能通过 全文搜索索引
详见MYSQL官网免费参考手册的。
详见MYSQL官网免费参考手册的。