mysql存储过程

自己的系统在大量用户同时注册登陆时,程序端的负载很大,因为注册和登陆时,不仅要检查用户的账户,还需要修改读取用户相关的一揽子信息表。于是打算把这一堆东西扔进存储过程和函数里,于是就写了,写出来后,发现执行一次存储过程就让mysql的cpu占用从0.1迅速蹦到1.3(linux下用top命令观察),这让我感觉不太好,后来找了个在数据库有几年经验的人看了一下我的存储过程。他提出以下观点: 

1.你的存储过程里,居然有随机生成字符串,拼接字符串,sha1加密字符串这些操作,对mysql来说,负担太大 

2.不要使用LAST_INSERT_ID()获取上一条插入记录的id,这个命令效率很低,远不如select 

3.以上说的这些,其实换在MSSQL和oracle是没啥问题的,这两家的脚本引擎非常成熟,效率很高,而mysql的连脚本都算不上,所以在存储过程和函数里只做CRUD,别干别的,干别的话都会拖慢效率。 

posted @ 2017-09-22 16:32  __Ant  阅读(177)  评论(0编辑  收藏  举报