
你提到的是mysql自己的workbench.
代码美化快捷键(也称"格式化代码")是: ctrl+b.
对应菜单Edit>Format>Beautify Query. 名称后面显示类对应快捷键的名称.
扩展:
自定义快捷键可以通过修改MySQLWorkbench安装目录\data\main_menu.xml文件
注意的几个点:
备份原始文件, 这是好习惯.
要修改的为value标签
value标签中platform属性, 指定当前使用什么系统, 例如Windows就修改platform为windows节点的shortcut
value标签中shortcut属性, 指定要使用的快捷键, 注意workbench快捷键配置文件中的按键名称和我们通常理解的有很大区别, 比如:enter键叫Return, Modifier为Ctrl.
如果修改后, mysql无法启动, 说明修改不符合workbench规则.
(以上回答截止当前最新版6.3版本为止)
从句子中可以看到,选取的字段比较多,另外连接条件也比较多,另外还包括了子查询。就此语句给出几个需要注意的问题:
1、请先使用explain,对这个语句进行分析,EXPLAIN解释SELECT命令如何被处理。这不仅对决定是否应该增加一个索引,而且对决定一个复杂的Join如何被MySQL处理都是有帮助的。
2、尽量在连接条件多的时候,把数据提取量少的条件放在前面,这样会减少后一个条件的查询时间。对了,这些经常用的连接条件最好建上索引。我不清楚
INNER JOIN table_user_profile AS up ON up.uid = u.uid
INNER JOIN table_user_count AS uc ON uc.uid = u.uid
INNER JOIN table_user_daren AS ud ON ud.uid = u.uid
这些那个先内连接数据比较少,自己排列一下试一试。
3、避免使用!=或<>、IS NULL或IS NOT NULL、IN ,NOT IN等这样的 *** 作符,因为这会使系统无法使用索引,而只能直接搜索表中的数据。像in和not in这样的关键字用exists和not exists比较好。u.uid not in(SELECT uid FROM table_user_follow where f_uid=100)改成u.uid not exists(SELECT uid FROM table_user_follow where f_uid=100),效率会有提高。
4、mysql使用函数的时候会增加负担,完全可以交给脚本程序去解决。比如此子查询:
SELECT MAX(share_id) FROM table_share 完全可以不写在这个sql语句中,交给脚本程序可以了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)