mysqlworkbench有没有美化sql的功能

mysqlworkbench有没有美化sql的功能,第1张

你提到的是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语句中,交给脚本程序可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8620616.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-18
下一篇2023-04-18

发表评论

登录后才能评论

评论列表(0条)

    保存