提高MYSQL百万条数据的查询速度 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 3.应尽量避免在 where 子句中
快速生成100W条数据,生成的时候是顺序生成,取的时候是随机取用,生成100W条数据大概一分多钟,比网上其他代码速度要快很多 )) --truncate table tb --select top 1 id from tb order by NEWID() --select ID from tb where id ='190300' ) from tb SET NOCOUNT ON; begin ) ))) end begin insert into tb )),) ' waitfor dela
如果想查看 Mysql 数据库的总的数据量或者某个表的数据或者索引大小,可以使用系统库 information_schema 来查询,这个系统库中有一个 TABLES 表,这个表是用来记录数据库中表的大小.行数.索引大小等信息 mysql > use information_schema; Database changed mysql > show create table TABLES; mysql > desc TABLES; 表结构如下: sql: CREATE TEMPORARY
多条数据以一条数据展示:GROUP_CONCAT select GROUP_CONCAT(uuid) from user; 判断某字符是否存在某字段:INSTR select * from( select GROUP_CONCAT(uuid) names from user ) temp where INSTR(uuid,'001');
SELECT CONCAT(ROUND((INDEX_LENGTH+DATA_LENGTH)/1024/1024, 2), 'MB') AS '总大小',CONCAT(ROUND(DATA_LENGTH/1024/1024, 2), 'MB') AS '数据大小',CONCAT(ROUND(INDEX_LENGTH/1024/1024, 2), 'MB') AS '索引大小' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='youwoapp
删除索引~ DROP INDEX `idx_dict_type` ON `article` 1.添加PRIMARY KEY(主键索引): ALTER TABLE `table_name` ADD PRIMARY KEY (`column`) 2.添加UNIQUE(唯一索引) : ALTER TABLE `table_name` ADD UNIQUE (`column`) 3.添加INDEX(普通索引) : ALTER TABLE `table_name` ADD INDEX index_name
说明: MBGL_GZJH jh_id 对应 mbgl_gzjh_fkmx jh_id mbgl_gzjh_fkmx jh_id 有重复多条,但是 FKRQ 不一样,我们去 FKRQ 最新的一条. select * FROM MBGL_GZJH A LEFT JOIN (select BC.* from (select max(FKRQ) as maxrq,JH_ID from mbgl_gzjh_fkmx GROUP BY JH_ID ) AC LEFT JOIN mbgl_gzjh_fkmx
update groupuser as g1 join groupuser as g2 on (g1.user_id=1 and g2.user_id = 2) or(g1.user_id = 2 and g2.user_id=1) set g1.group_id = g2.group_id,g2.group_id=g1.group_id;
一.前言 通常,我们分页时怎么实现呢? 1 SELECT * FROM table ORDER BY id LIMIT 1000, 10; 但是,数据量猛增以后呢? 1 SELECT * FROM table ORDER BY id LIMIT 1000000, 10; 如上第二条查询时很慢的,直接拖死. 最关键的原因mysql查询机制的问题: 不是先跳过,后查询: 而是先查询,后跳过.(解释如下) 什么意思?比如limit 100000,10,在找到需要的那10条时,先会轮询经过前10W条数据