mysql里面嵌入nodejs的想法
发布于 10个月前 作者 151263 777 次浏览

如果,做一个mysql的插件, 这个插件里面嵌入V8引擎,然后用javascript直接调用Innodb引擎的API 用javascript来代替存储过程,跟sql 是否可行?! 存储过程 太蛋疼了, 表现力太弱,连基本的for循环都很难做 没有面向对象,没有类,没有封装 临时表也很多莫名其妙的bug 但是 存储过程 的效率又很高,不用经过网络 var testObj = {aa:"bb"}; 这种代码,map, list 等等,存储过程都很难做 而且mysql解析sql是最慢的,最消耗CPU的部分 如果,直接调用Innodb的API,就不用解析sql 只需要V8去解析javascript, 而V8快到不行 mysql5.6 官方推出一个插件, memcache插件, 可以不经过sql解析,通过这个插件直接调用Innodb的API的 所以,这个思路理论上应该是可行的

8 回复

你可以先试试,有想法很好,实现出来更好。

想法很好…不过会用存储过程的…一般都会写了吧…

不会用的…也不会想去会吧…

我说了,问题的关键是,存储过程的表现力太弱,for循环,一些简单的算法,面向对象,类,继承,接口,数组,list,map,模块 等等,都很弱

什么事情都放到存储过程本身就很危险,对表的锁的处理就很麻烦,难以对大并发进行优化,sql解析执行过程是有很多优化的,要不然也不会那么慢,这些楼主能搞定么

楼主,既然想到用js写DB的存储过程,那么干嘛不试试MongoDB? MongoDB的存储过程(叫做Stored JavaScript)可都是用JavaScript写的哦, 它的JavaScript引擎就是V8哦

如果存储过程太过复杂, 那么相对的, 他的解释器又会更加增大cpu的开销, 值得么, 其实用node写一个mysql proxy倒是一个不错的选择.

如果我自己会做就好了,不知道mysql有没有这方面的书籍之类的

回到顶部