之前博客的题目数据一直使用z_blog的模糊匹配,一直使用like %tiile%,有时候直接导致服务器CPU100%,于是为了走上索引改为左匹配,like title %,虽然解决了搜索性能问题,但是没有like %title%效果好,很多人搜不到。于是改为全文索引。
ALTER TABLE `think_course_question` ADD FULLTEXT INDEX `uni_question_name` ( `question_name` ) WITH PARSER `ngram`;
添加全文索引并使用支持中文分词
mysql中配置分词数
ngram_token_size=2
mysql中配置最少搜索词数
ft_min_word_len=5
使用波尔模式,模仿like %title%
SELECT * FROM think_course_question WHERE MATCH ( question_name ) AGAINST ( '+职能型销售组织' IN BOOLEAN MODE) LIMIT 10
为什么不用自然语言的原因是因为大部分搜题的人都是复制一整段。
1.定长和变长的分离 如int,char,time所占字节是固定的字段放在一张表 如varchar,text所占字节不确定的字段放在一张表中2.常用字段和不常用字段进行分离,根据查询频率来设计3.一对多的关联表可以添加冗余字段,如商品分类表 和商品表 ,在首页中需要显示每个分类商...
where与having非常类似.都能筛选数据.表达式完全一致. 但是职责的确不同.where负责对表中的字段进行筛选,having负责对where筛选后的结果集再次筛选。这也就是where不能使用别名字段来筛选的原因,因为数据中没有这个字段。&n...
需求查询出存在商品的商品分类. 先看看分类表:id(分类的id) catename(分类名) 1 手机 2 &n...
1.查看所有表,包括视图表,show tables;2.查看表结果,包括视图表,desc 表名3.查看建表过程,show create table 表名;4.查看建视图过程,show create view...
1.floor(x)返回小于x的整数,向下取整,用法,商品的价格是浮点型的,需要向下取整 eg:select id,title,floor(price) from shopgoods2.rand()返回0-1之间的随机数 select rand() select rand()...
由于在开发中不小心删除客户上传的商品数据,客户本身也不好说话,只好恢复数据库,记录下过程。原理是数据库开启bin-log功能,然后再通过备份的bin-log进行数据库恢复。先查找备份的数据库日志二进制文件。一般在mysql的data文件夹中,文件名大概为mysql-bin.00001,具体看文件的修...