(16)万能查询还是万恶查询?
来源:互联网 发布:pdf福昕阅读器 mac 编辑:程序博客网 时间:2024/06/05 01:17
在项目中,开发为了方便用户(也为了方便自己),很多都会在前端基类弄个万能查询的模块,在做介面时调一下就能使用了,它能列出很多的字段,让用户自己选择字段及表达式,条件与条件组合,可以几乎无限的加条件上去。用户用得也很爽,可以自由组合条件了。在一些特别复杂的条件时,也不
需要开发去另外改程序,用户也可以通过这个搞定,所以这种功能很受欢迎。
但这种功能方便了用户和开发,对于数据库性能来说,它是不利的。
其一. 很多字段是没有索引的。
其二. 条件中可能用到了很多like '%' 之类,多一个%或少一个,会关系到联合索引有没被用到。
其三. 有些实现方式是用动态sql方式,性能不用说了。
其四.用户组合出来的查询条件很离谱,如果再碰上这个结果集量很大。
其五. 用户输入特殊符号或字符,而代码是用拼接方式且没做处理,或没有采用绑定变量方式。
......
等等。DBA可能提出很多条说法,以证明它对数据库可能的种种后果。 能说服当然最好,但有时是无力。
这时只能适应,但有几点是要坚持的。
1. 一定要尽量控制好万能查询模块的范围,不要让它被滥用,如对于表关联复杂,数据量大的查询上,一定要坚持用少量固定查询的方式。
2. 对于一定要使用此模块的介面,与开发协商好要显示哪些字段,排除掉一些不必要或可能会引发性能问题的字段。
3. 有一些一定要用此功能,但很有可能有恶果的介面,要严密监控,并留好后路。
总之,功能的便利性与数据库的性能间,平衡和沟通有时特别重要。
MAIL: xcl_168@aliyun.com
Blog:http://blog.csdn.net/xcl168
0 0
- (16)万能查询还是万恶查询?
- 转] 万能查询
- 金钱万恶?金钱万能?
- 万能查询网址,不信试试看!
- 万能单条件查询函数
- db万能数据库查询分析器
- 再发:万能组合超级查询统计程序
- 万能查询,总有你想要的!
- 万能数据库查询分析器发展历史
- 使用ActiveX实现的Web自定义查询-万能查询
- 巨猛的网络!万能查询!(想查安全期?)
- 让万能标签get 支持嵌套查询,小改动
- [L-php]PHP功能模块——万能查询
- 《万能数据库查询分析器》的EXE文件加壳技术
- 万能数据库查询分析器中的事务管理在Oracle中的应用
- 万能数据库查询分析器与EXCEL强强联合进行数据分析
- 万能数据库查询分析器使用技巧之(八)
- 万能数据库查询分析器使用技巧之(九)
- noip2005解题报告
- 1602总结
- NSString写入文件
- 周鸿祎--怎样才能成为一个优秀的产品经理(2)?
- Android的MediaPlayer架构介绍
- (16)万能查询还是万恶查询?
- c++中cin、cin.get()、cin.getline()、getline()、gets()等函数的运用
- OpenOffice API 开发(一) sdk环境搭建
- 大话设计模式
- Wireshark图解教程(简介、抓包、过滤器)
- Cloud Computing – Demystifying SaaS, PaaS and IaaS (DaaS)
- eclipse配置hadoop mapreduce开发环境
- linux内核模块编译学习笔记
- 【Struts2】在eclipse下搭建第一个程序