mysql查询小技巧】的更多相关文章

数据字段中存放的是id集,形如  1,2,15,35   也可类推json格式 查询时不用拆分了, 用上 instr.concat搜索和连接字符串 查询fids中包含15的 select * from table where instr(concat(',', fids, ','), ',15,') > 0 查询时,多个字段 like 同个值 select * from table where concat(name, title) like '%哈哈%';…
如果所传bookTypeName为空则执行select * from t_bookType(搜索框里未输入信息) 否则追加 and bookTypeName like  '%"+bookType.getBookTypeName()+"%' 如果是追加的第一个and则替换为where: sb.toString().replaceFirst("and", "where") 方法代码示例如下: public ResultSet bookTypeList…
对mysql优化时一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引unique.全文索引] c: 分表技术(水平分割.垂直分割) d: 读写[写: update/delete/add]分离 e: 存储过程 [模块化编程,可以提高速度] f: 对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ] g: mysql服务器硬件升级 h: 定时的去清除不需要的数据,定时进行碎片整理(MyISAM)…
碎片整理: mysql数据一开始是在磁盘上顺序存放的,如果数据表有频繁的update改动,那么数据就会形成很多碎片,拖慢速度和不利于索引: 优化碎片有两种方式: alter table user engine innodb;其实user这个表原先也是innodb的,这句话看上去没有任何意义,但是mysql会重新规整数据 optimize table user; 也可以修复: 碎片优化是一种很费cpu和内存的事,最好在夜里执行: 非常规 的 min  max 优化 select min(age)…
1.mySql 删除表中大批量的数据 假设有一个表(logs)有2000万条记录,我们要在业 务不停止的情况下删除其中status=1的所有记录,差不多有1800万条,直接执行 DELETE FROM logs WHERE status=1 会发现删除失败,因为lock wait timeout exceed的错误.因为这条语句所涉及的记录数太多了,因此我们可以分批来删除,比如每10000条进行删除,那么我们可以利用MySQL这样的语句来 完成 DELETE FROM logs WHERE st…
1 强制命中索引:force index 某些时候查询,索引会失效,可以进行强制命中索引 2 group_concat 能将相同的行组合起来. 当然,我推荐这种操作可以在代码中操作,如果必须在特定情况下使用,可以使用这个函数 例如: select * from aa; +------+------+ | id| name | +------+------+ | | | | | | | | | | | | | | | | | | +------+------+ rows in set (0.00…
数据准备drop table if exists class;create table class(    class_no int(2) unsigned zerofill primary key auto_increment comment '班级编号',    class_name varchar(30) not null comment '班级名称');insert into class values(1, '培优班');insert into class values(2, '普通班'…
经常使用的快捷键: 1.ctrl+q 打开查询窗口 2.ctrl+/ 注释sql语句 3.ctrl+shift +/ 解除注释 4.ctrl+r 运行查询窗口的sql语句 5.ctrl+shift+r 只运行选中的sql语句 6.F6 打开一个mysql命令行窗口 7.ctrl+l 删除一行 8.ctrl+n 打开一个新的查询窗口 9.ctrl+w 关闭一个查询窗口 多表查询结果连接显示: UNION自动去除重复行:UNION ALL 重复行保留 limit和between的用法: select…
在使用Entity Framework做查询的时候,如果只需要显示,而不用保存实体,那么可以用AsNoTracking()来获取数据. 这样可以提高查询的性能. 代码如下: var context = new Entities(connectStr); var contentlist = context.Set<Content>().AsQueryable().AsNoTracking(); 但是如果取到数据后,要对数据做修改并保存,则无法反映到数据库里. 如: var context = n…
把MySQL软件制作成系统服务 .把mysqld软件做成系统服务 注意:制作之前先把mysqld关掉 C:\Windows\system32>tasklist |findstr mysqld mysqld.exe Console , K C:\Windows\system32 成功: 已终止 PID 为 的进程. 制作: mysqld --install 查看: windows+r 输入services.msc 制作MySQL系统服务 启动服务端和客户端: 启动: 未制作系统服务的启动方式: .…