该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-24
xyz20003 写道 终于见到一个对sql调优有经验的人,请问,传统sql调优有哪些主要方法,这些方法的效果如何,ORM是如何将这些SQL调优方法都阻碍了呢?
我觉得,只有了解了SQL调优的传统方法,才能进行比较得出ORM之上的解决方案,之前所见的人都是空对空,只知道说ORM性能有问题,却没有给出SQL调优的解决之道。抓住一个点进行具体分析,才适合搞技术的。 个人感觉,没什么必要过于强调sql调优的问题吧。 正常讲,应该对会生成什么sql大概有数。 除非是很简单的用法,一般用了hql也应该关注生成的sql是什么,看有没有“超常”的sql出现。 复杂到想不出来的,个人感觉一般除了报表不多。 报表大家是不是也“特事特办”? |
|
返回顶楼 | |
发表时间:2010-03-24
xyz20003 写道 这时就要锻炼自己的平常心了。
如果能快速找到解决方案自然最好,如果找不到解决方案,也不应该埋怨什么,毕竟源代码都在那里了,只要有精力就可以通过代码挖出原因来。如果再有时间,也可以把发掘出的问题解决方案放在网上,帮助其他遇到同类问题的人快速解决那就更好了。环境是靠大家建立的。所有人都贡献一份力量,就会一起得到帮助,所有人都等着别人贡献,最后就什么也得不到。 没什么新意,老生长谈啦。 完全是在锻炼项目经理的神经。 没有大象一样的神精。 我可不想在源代码层找自己写出来的bug |
|
返回顶楼 | |
发表时间:2010-03-24
ORM的一个重大意义就在于——程序员可以用操作一个对象的感觉去操作数据库,这样更加接近人本身的思维模式。
某种程度上来说,这也算是降低了学习成本吧。 当然了,现在.NET在推动的LINQ又是另外一种思路了…… |
|
返回顶楼 | |
发表时间:2010-03-24
很可惜,楼主说的优点几乎用不到
用hibernate主要是考虑数据库的封装 |
|
返回顶楼 | |
发表时间:2010-03-24
Allen 写道 ORM的一个重大意义就在于——程序员可以用操作一个对象的感觉去操作数据库,这样更加接近人本身的思维模式。
某种程度上来说,这也算是降低了学习成本吧。 当然了,现在.NET在推动的LINQ又是另外一种思路了…… 学习成本这个不认同。。。 实际来说,hibernate学习成本要高很多。 优势不在于此。 |
|
返回顶楼 | |
发表时间:2010-03-24
额。。lz在拿hibernate抢分啊,比抢钱都容易
选不选hibernate ,不是一个群体的观点完全不一样,基本就不可能谁说服谁 |
|
返回顶楼 | |
发表时间:2010-03-25
难道DBA就不会去学学Hibernate吗
|
|
返回顶楼 | |
发表时间:2010-03-25
sealan 写道 难道DBA就不会去学学Hibernate吗
这个问题问的好?我见过某些单位的同事,会了SQL就保守的不行了,啥语言都不学了,何况是一个开源啊。 所以说,人的问题是很大的。 |
|
返回顶楼 | |
发表时间:2010-03-25
DBA学点hibernate基础对交流协作有好处,但不能把架构师的任务推给DBA啊。
|
|
返回顶楼 | |
发表时间:2010-03-25
miaow 写道 DBA学点hibernate基础对交流协作有好处,但不能把架构师的任务推给DBA啊。
办法是人想出来的,例如DBA不懂HQL,我知道有一家公司就是这样协调的,测试的时候有工具可以很方便的把所有测试时产生的sql打印出来,去重后,DBA一目了然,看起来也是很方便的。 |
|
返回顶楼 | |