数据字段中存放的是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数据一开始是在磁盘上顺序存放的,如果数据表有频繁的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…
数据准备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, '普通班'…
在使用Entity Framework做查询的时候,如果只需要显示,而不用保存实体,那么可以用AsNoTracking()来获取数据. 这样可以提高查询的性能. 代码如下: var context = new Entities(connectStr); var contentlist = context.Set<Content>().AsQueryable().AsNoTracking(); 但是如果取到数据后,要对数据做修改并保存,则无法反映到数据库里. 如: var context = n…