[置顶] DiyChrome更新1.1,提供检测,下载,一键制作绿色版等实用功能
[置顶] 交换友情链接说明
关于数据库优化的文章收藏

第一篇:

表设计和查询的一些参考

1.合理使用索引
索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的使用要恰到好处,其使用原则如下:
●在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。
●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。
●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。比如在雇员表的“性别”列上只有“男”与“女”两个不同值,因此就无必要建立索引。如果建立索引不但不会提高查询效率,反而会严重降低更新速度。
...


Tags: 优化  oracle数据库  数据库  SQL  MYSQL数据库  
又一次成功解决Mysql乱码问题

以前在我的博客上发过文章总结我遇到的数据及网页上中文乱码的处理办法[再谈乱码问题,如何解决MYSQL数据中文乱码问题] [解决jsp,tomcat,MYSQL下中文乱码问题] ,但是,不幸的是,今天又遇到了,用过以前的办法,没能解决,我相信绝对不是网页的问题.因为,我在MYSQL里直接添加中文的数据能在网页上正常显示,可是在网页中操作添加的数据,到MYSQL数据库里一看,全是???问号.我下断点,跟踪进去看了,程序中最后处理到数据库操作时,还是中文,操作到数据库后,就是?问号了.后来找了很多资料,终于把这个问题解决,........

那怎么办呢,只要把那几个的编码改成utf8的,那应该就可以了.
1: 在Mysql的配置文件 my.ini (一般在c:/windows/下面) 里加上服务器的默认编码配置: default-character-set=utf8
2: 修改你的数据库的字符编码:进入Mysql数据库,通过命令修改你的数据库字符编码: ALTER DATABASE `databaseName` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci  (修改后需要重启Mysql数据库)
3: 如果你的表以及表里的字段使用了不正确的字符编码,同样需要修正过来:命令:
 修改表的编码: ALTER TABLE `tableName` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
 修改字段的编码: ALTER TABLE `tableName` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
(做好了时,再跑一下上面那两个查看字符编码的命令,看看是否全部都变成了utf8)

4: 如果还无效的话,再尝试使用这个MYSQL数据库连接字符串:  jdbc:mysql://localhost:3306/xxxx?useUnicode=true&characterEncoding=UTF-8 (有时可能需要将符号(&)转码写成(&))......


Tags: 问题  乱码  MYSQL数据库  
数据库SQL联合查询的思考

昨天晚上和网友讨论了一个关于数据库联合查询的效率的问题.说实话,以前我一直没怎么考虑过这个问题,在写SQL时,都没怎么考虑,似乎一切都成了习惯,或者已经懒散贯了,但是,网友和我聊起来了,我也就好好考虑起这个问题了,平时不考虑时不知道,真正好好计较一下,才发现还有很多门道.

.................

根据以上的思考,结果很吓人,经过对比,发现,结果好恐怖,遍历次数差别简直就是.........比比看看:600万--2.3万--1600--800,这种比例实在太恐怖了,我不得不对联合查询产生了动摇,难道我们为联合查询的便利,就付出如此巨大的浪费吗?我们真的应该重新审视一下,我们平时已经习惯的编程习惯,以及那些我们认为理所当然的代码............


Tags: SQL  数据库  oracle数据库  MYSQL数据库  
[mysqlcctmp_1] ERROR 1251: Client does not support authentication protocol requested by server;解决办法

        今天在一个MYSQL视频教程里看到其使用了mysql control center 0.94 来管理MYSQL数据库.我以前从来没用过这个工具,就到网上找了一下,找了一个0.93版本的,0.94的没找到,哎,无所谓,能用就行了,相关0.01的版本,功能上也不会相关太多.后来发现,原来,这工具也是MYSQL出的.下载,安装,一切都很顺利,启动软件,马上修改选项,选择[简体中文],毕竟是自己的语言,熟悉一点.填写好数据连接相关的东西,马上连接上去看看有什么好玩的.

...
Tags: mysqlcc  ERROR  
发布一个oracle函数,身份证校验码生成函数

 以前从来没想过要这种函数,后来公司说,程序里的一些重要的编号都要带一个验证码,要求我使用身份证的校验码方法,我从公司以前的oracle数据库里找到了以下的oracle函数,公布一下,大家共享一下,哈哈.使用了这个函数的朋友记得常来我这里顶顶哦.巴士飞扬 www.busfly.cn 时刻 欢迎你的来访,共同学习进步

-- 生成身份证号码的 校验位 ISO 7064:1983.MOD 11-2校验码计算出来的检验码(公司内部函数,保密,保密~~~~~)

create or replace function getVerify_ISO7064(...... 

OK了,现在你可以用你的身份证试一下了,你的身份证最后一位就是验证码,把最后一位留下,其它的当参数输入进去查一下就知道了,这个函数不是专门为身份证做的,任意长度的都可以.我公司是用来作为编号的最后一位.

以下是公司里的用法,再写了一个函数,将产生的验证码的X改成0,因为编号里一般只有数字,再连接到原字符串后面,返回:

create or replace function make_Verify_pcard_id (....

 


Tags: oracle数据库  
解决PHPadmin中错误:无法载入mcrypt 扩展
解决PHPadmin中错误:无法载入 mcrypt 扩展,请检查 PHP 配置 终极解决方案 最近在本机上架设PHP环境玩一个威客系统,按照网上的说明,一路下来,安装PHP,MYSQL,Zend Optimizer,PHPadmin.前面都是一路顺风,到了PHPADMIN时出了问题,配置PHPADMIN时就出了问题,没有找到网上说明的那个配置文件config.inc.php,而只有一个config.sample.inc.php,我以为是版本差异,设置了半天都没用,后来那这个文件改名为那个文件名,就OK了. 登录到PHPADMIN里后,发现下面出现一行红色的字提示错误: 无法载入 mcrypt 扩展,< br / >请检查 PHP 配置的问题应该怎么解决? 试了几个网上的办法,都没用,最后发现,原来是重启WEB服务器时,我的作法是错误的,只重启IIS是没用的,要到命令行下用那个命令来重启才行的. 以下是我成功的方法:.....
Tags: MYSQL数据库  
Oracle 安装后 8080和80端口被占用的解决办法

昨天安装了oracle,突然发现8080端口被oracle给占了,后来在大学同学乌托邦博客 的帮助了,终于将oracle占用的8080端口给换成了9090,不过,通过9090端口却打不开oracle的那个网页了,不过,我同学说没关系,那个东西oracle其实也没什么用
8080端口解决办法,网上找到很多答案,可是我看到的都似乎不全,都是随便转载的,一句话都被搞成几段了,还是不摘过来了,直接把乌托邦博客的方法摘过来大家看看吧: ......


Tags: oracle数据库  
oracle SQL里常用的时间函数,经典推荐

相信很多人都有过统计某些数据的经历,比如,要统计财务的情况,可能要按每年,每季度,每月,甚至每个星期来分别统计。那在oracle中应该怎么来写sql语句呢,这个时候Oracle的日期函数会给我们很多帮助。 常用日期型函数 1。Sysdate 当前日期和时间 SQL> Select sysdate from dual; SYSDATE ---------- 21-6月 -05 2。Last_day 本月最后一天 SQL> Select last_day(sysdat...


Tags: oracle数据库  
oracle相当于split功能的代码(原创)
工作中的小问题,却困扰了我一天,到网上找了一些代码,都说是最好的,封装成oracle的函数,试过两个评价最高的(也转载到了我的"编程仓库"里了,请看: http://www.busfly.cn/CSDN/post/313.html ,和http://www.busfly.cn/CSDN/post/oracle-split02.html) 这两个东西各有特点,我只是成功的使用了第二个,第二个用到了管道,将split后的结果通过SQL查询语句来获取,结果,成功了,果然可以得到拆分...
Tags: oracle数据库  
在数据库SQL中使用的时间函数
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。              在使用本文中的例子...
Tags: oracle数据库  
数据库操作,别让NULL值拦住你的去路:Invalid column type错误原因
数据库操作,别让NULL值拦住你的去路:Invalid column type错误原因 Invalid column type出错的原因其实很简单,就是NULL值搞的鬼。比如,strsql=“insert mytable values(”+ID+“)”,如果这时ID就是NULL的话,那可能就会出错了。
Tags: oracle数据库  
再谈乱码问题,如何解决MYSQL数据中文乱码问题
在之前的文章里,我已经提过如何解决JSP中乱码问题,其中也详细解说了MYSQL乱码问题,相信通过里面的办法,肯定都已经解决了JSP里的乱码问题,不过还是有些人的MYSQL乱码问题没有得到解决,包括我自己,所以又找了一些资料,希望这次能完全解决MYSQL数据库的乱码问题。
Tags: MYSQL数据库  
分页:[«] 1[2] [»]
Powered By Z-Blog   STYLE by busfly . FatMouse
Copyright © 2007 巴士飞扬技术博客. . 沪ICP备07027972号. 会员群1(J2EE为主):3769186.