项目中遇到这么个情况: t1表 和 t2表  都是150w条数据,600M的样子,都不算大. 但是这样一句查询 ↓ select * from t1 where phone not in (select phone from t2) 直接就把我跑傻了...十几分钟,检查了一下  phone在两个表都建了索引,字段类型也是一样的.原来not in 是不能命中索引的.... 改成 NOT EXISTS 之后查询 20s ,效率真的差好多. select * from t1 where not EXI…
1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值. 3,应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE. 4,应尽量避免…
SQL语句如何精准查找某一时间段的数据 在项目开发过程中,自己需要查询出一定时间段内的交易.故需要在sql查询语句中加入日期时间要素,sql语句如何实现? SELECT * FROM lmapp.lm_bill where tx_time Between '2015-12-20' And '2015-12-31'; 仔细研究还是能够发现一些细节性的问题的. SELECT * FROM lmapp.lm_bill where merch_uid='S18853883587' AND tx_time…
sql注意事项: SQL 对大小写不敏感:SELECT 与 select 是相同的 某些数据库系统要求在每条 SQL 语句的末端使用分号. CREATE DATABASE CREATE DATABASE 语句用于创建数据库. CREATE DATABASE dbname; CREATE TABLE CREATE TABLE 语句用于创建数据库中的表. 表由行和列组成,每个表都必须有个表名. CREATE TABLE table_name ( column_name1 data_type(size…
SQL查询_基本功能 一 SQL语句整体架构 SELECT --1 查询数据表 INTO --2 新建数据表 FROM --3 查询数据表 WHERE --4 筛选数据表 ORDER BY --5 排序结果表 GROUP BY --6 分组结果表 HAVING --7 筛选分组结果表 UNION --8 合并查询结果表 二 select部分功能 1 select查询数据表 select * from 表名 2 select查询单列和多列 --1 查询一列 select 列1名 from 表名 -…
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那…
查看执行时间 1 show profiles; 2 show variables;查看profiling 是否是on状态: 3 如果是off,则 set profiling = 1: 4 执行自己的sql语句: 5 show profiles:就可以查到sql语句的执行时间: 查看操作了多少行 在sql语句前面加上 explain就可以了: explain select * from event; +—-+————-+——-+——+—————+——+———+——+——+——-+ | id | s…
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhangsan' and tID > 10000 和执行: select * from table1 where tID > 10000 and name='zhangsan' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那…
定义预处理  类似sqlserver的存储过程 语法 PREPARE stmt_name FROM preparable_stmt 说明 PREPARE 关键字 stmt_name 预处理语句的名字 昵称;) FROM 关键字 preparable_stmt 要预处理的语句 如 PREPARE stmt FROM 'SELECT * FROM game WHERE host_year = ?'; 执行预处理 语法EXECUTE stmt_name [USING value [, value] ……
创建 欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com . 过错 create table tableName (字段名 字段类型 primary key ) 删除 drop table if exists tableName ; 表是否存在 select count(*) from db_class where class_name='tablename' tableName要小写 重命名表 rename table oldnam…