sql优化【表设计完成之后的工作】
sql语句本身的优化:
如何在一个大项目中,快速的定位到一个比较慢的查询(定位慢查询)
1、首先我们了解mysql数据库的一些运行状态如何查询(比如mysq运行的时间/一共执行了多少次select/update/delete/add 。/当前链接)
show status
show status like 'uptime', 查询mysql已经启动运行了多久
show status like 'com_select'【红色可变,update、delete、insert】,可以查询使用过多少次查询(更新、删除、修改)
show [session|global] status.../默认是session,会话级别,指取出当前窗口的执行情况。如果要看全部(从mysql启动开始到现在,则应该协商global),show global status like 'com_select'
show status like 'connections' 查看当前数据库连接数
//显示慢查询状态
show status like 'slow_queries' 默认超过10秒即为慢查询,
//修改默认慢查询时间 show variables like 'long_query_time' 修改为1秒: set long_query_time = 1;
(定位问题:表结构,sql语句,项目问题)
构建一个大表(400万)-》存储过程构建