Python0324总结
mysql优化:
1,避免全表扫描 – 索引
2,查询条件列不能有null
3,查询条件表达式不能有 != <>
4,查询条件表达式不能有 or(除非左右列都有索引) 替代:union all
5,in 和 not in 也要慎用 替代:between exists()
6,like也要慎用(%column%)
7,避免在 where 子句中对字段进行函数操作
8,where字句中 = 左侧不能有函数、算术运算或其他表达式运算
9,如果只更改 1、 2 个字段, 不要 Update 全部字段
10,多张大数据量表 要先分页再 JOIN
11,不带任何条件的 count 会引起全表扫描
13,尽量使用数字型字段
14,尽可能的使用 varchar/nvarchar 代替 char/nchar
15,禁止使用 *
16,尽量避免使用游标,因为游标的效率较差
17,尽量避免大事务操作,提高系统并发能力。
18,尽量避免向客户端返回大数据量
mysql索引
B-Tree 索引 HASH 索引
Python连接mysql数据库
import pymysql #导包
#创建连接
conn = pymysql.connect(host='127.0.0.1',user='root',password='root',db='qhj',charset='utf8')
#创建游标
cursor = conn.cursor()
#执行sql 并返回受影响行数
effect_row = cursor.execute('select * from emp')
print(cursor.fetchall())
在python中添加数据
try:
#effect_row = cursor.execute("insert into emp(empno,ename,sal) values(6666,'lhy',2)")
effect_row = cursor.executemany("insert into emp(empno,ename,sal) values(%s,%s,%s)",[(6,'ll',3),(7,'hh',5)])
print(effect_row)
conn.commit()
finally:
cursor.close()
conn.close()