如题, 要想书写格式化的sql 必须是多行的。 多行的字符串, 用 nodejs 书写有什么快捷的方式或工具。 一个个+号写过去, 实在太麻烦。
使用的编辑是vim, 有相关的快捷方式推荐更好了
如题, 要想书写格式化的sql 必须是多行的。 多行的字符串, 用 nodejs 书写有什么快捷的方式或工具。 一个个+号写过去, 实在太麻烦。
使用的编辑是vim, 有相关的快捷方式推荐更好了
function a() {
/*
select *
from youtable
where 1 <> 0
*/
}
function getString(f) {
return f.toString().replace(/^function[^/*]*?\/\*|\*\/[^*/]*\}$/g, "")
}
getString(a)
结果(引号仅用于表示起始位置)
"
select *
from youtable
where 1 <> 0
"
我也提供下现在采用的方案:
使用一个orm, 这个orm的特点如下:
1. 完全不支持复杂表连接
2. 极高的缓存命中率
说明:大部分应用中使用的sql
复杂度不高, 即使个别需要表连接的也完全可以拆分成两条sql。咋看可能增加了代码量,但这样做避免了复杂sql
带来的高负载,同时拆分成简单sql
能够很好的提升缓存命中率。
可能回答牛头不对马嘴,只是分享这个思路,目前在应用开发中没写过
sql
,全是通过orm
5 回答4.9k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
5 回答2k 阅读
3 回答2k 阅读
没什么特别好的方法,一般对于长字符串有两种写法:
第一,用
\
换行,注意,这样做是不会在字符串中插入\n
,最终结果将是'Line 1Line 2Line 3'
。第二,用数组再 join,这样做性能会好一些,但写起来跟
+
一样蛋疼。P.S. 如果真的想要写的爽,建议尝试一下 coffeescript 的 string 语法,如果从 python 过来的人应该会很熟悉且很顺手吧。