数据库系统是管理信息系统的核心,基于数据库的联机事务处理(oltp)以及联机分析处理(olap)是银行、企业、政府等部门最为重要的计算机应用之一。从大多数系统的应用实例来看,查询操作在各种数据库操作中所占据的比重最大,而查询操作所基于的select语句在sql语句中又是代价最大的语句。举例来说,如果数据的量积累到一定的程度,比如一个银行的账户数据库表信息积累到上百万甚至上千万条记录,全表扫描一次往往需要数十分钟,甚至数小时。如果采用比全表扫描更好的查询策略,往往可以使查询时间降为几分钟,由此可见查询优化技术的重要性。 笔者在应用项目的实施中发现,许多程序员在利用一些前端数据库开发工具(如powerbuilder、delphi等)开发数据库应用程序时,只注重用户界面的华丽,并不重视查询语句的效率问题,导致所开发出来的应用系统效率低下,资源浪费严重。因此,如何设计高效合理的查询语句就显得非常重...
批处理是一种非交互式运行mysql程序的方法,如同您在mysql中使用的命令一样,你仍然将使用这些命令。 为了实现批处理,您重定向一个文件到mysql程序中,首先我们需要一个文本文件,这个文本文件包含有与我们在mysql中输入的命令相同的文本。 比如我们要插入一些数据,使用包含下面文本的文件(文件名为new_data.sql,当然我们也可以取名为new_data.txt及任何其他的合法名字,并不一定要以后缀sql结尾): use meet_a_geek; insert into customers (customer_id, last_name) values(null, "block"); insert into customers (customer_id, last_name) values(null, "newton"); insert into customers ...
mysql管理员应该知道怎样通过指定哪些用户可连接到服务器、从哪里进行连接,以及在连接时做什么,来设置mysql用户账号。mysql3.22.11引入了两个更容易进行这项工作的语句:grant 语句创建mysql用户并指定其权限,revoke 语句删除权限。这两个语句充当mysql数据库中的授权表的前端,并提供直接操纵这些表内容的可选择的方法。grant 和revoke 语句影响以下四个表:授权表 内容user 可连接到服务器的用户和他们拥有的任何全局特权db 数据库级的特权tables _ priv 表级特权c o l um n s _ priv 列级特权还有第五个授权表( host),但它不受grant 或revoke的影响。 当您为某个用户发布grant 语句时,应在user表中为该用户创建一个项。如果该语句指定了所有全局特权(管理权限或用于所有数据库的权限),则这些指定也被记录在u...
一、在编译时优化mysql 如果你从源代码分发安装mysql,要注意,编译过程对以后的目标程序性能有重要的影响,不同的编译方式可能得到类似的目标文件,但性能可能相差很大,因此,在编译安装mysql适应仔细根据你的应用类型选择最可能好的编译选项。这种定制的mysql可以为你的应用提供最佳性能。 技巧:选用较好的编译器和较好的编译器选项,这样应用可提高性能10-30%。(mysql文档如是说) 1.1、使用pgcc(pentium gcc)编译器 该编译器(http://www.goof.com/pcg/)针对运行在奔腾处理器系统上的程序进行优化,用pgcc编译mysql源代码,总体性能可提高10%。当然如果你的服务器不是用奔腾处理器,就不必用它了,因为它是专为奔腾系统设计的。 1.2、仅使用你想使用的字符集编译mysql mysql目前提供多达24种不同的字符集,为全球用户以他们自己的语言插...
对于 mysql ,第一件你必须牢记的是它的每一行命令都是用分号 (;) 作为结束的,但……没有完全绝对的事,在这儿也是一样,当一行 mysql 被插入在 php 代码中时,最好把后面的分号省略掉.例如mysql_query ("insert into tablename (first_name, last_name) values ('%24first_name', %24last_name')"); 这是因为 php 也是以分号作为一行的结束的,额外的分号有时会让 php 的语法分析器搞不明白,所以还是省略掉的好。在这种情况下,虽然省略了分号,但是 php 在执行 mysql 命令时会自动的帮你加上的。 另外还有一个不要加分号的情况。当你想把要字段的竖者排列显示下来,而不是像通常的那样横着排列时,你可以用 g 来结束一行 sql 语句,这时就用不上分号了,例如: select ...
首先,为了使一个系统更快,最重要的部分就是基础设计,不过有些东西是现有情况下无法逾越的,比如说系统常见的瓶颈.我所能想到的: 1:磁盘寻道能力,以高速硬盘(7200转/秒),理论上每秒寻道7200次.这是没有办法改变的,优化的方法是-用多个硬盘,或者把数据分散存储. 2:硬盘的读写速度,这个速度非常的快(限于本人的知识所限,只知道在每秒几十甚至上百mb).这个更容易解决--可以从多个硬盘上并行读写. 3:cpu.cpu处理内存中的数据,当有相对内存较小的表时,这是最常见的限制因素. 4:内存的限制.当cpu需要超出适合cpu缓存的数据时,缓存的带宽就成了内存的一个瓶颈不过现在内存大的惊人,一般不会出现这个问题. 第二步: (本人使用的是学校网站的linux平台(linux advx.mandrakesoft.com 2.4.3-19mdk )) 1:调节服务器参数 用shell>my...
在更新到 4.1.1x 版本的 mysql 后,发现需要使用 mysqli 扩展方能正常使用数据库,否则会出现 1251 - client does not support authentication protocol requested by server; consider upgrading mysql client 的提示,这个很纳闷,我没有研究具体的问题,只是切换到 mysqli 扩展,其实在给 root 加上密码前还是可以使用 mysql 扩展的,可是给 root 加上密码后就出现了上述客户端版本太低的提示。 目前已知解决方法:先用root登录mysql服务器,执行mysql>set password for user1@"localhost"=old_password('yourpassword'); 原因是因为你使用的mysql服务器版本中使用了新的密码验...
可以将这个脚本放进crontab,每天凌晨执行一次,自动备份 这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上。 代码:#!/bin/bash #this is a shellscript for auto db backup #powered by aspbiz #2004-09 #setting #设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式 #默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy #默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz dbname=mysql dbuser=root dbpasswd= backuppath=/root/ logfile=/root/db.log dbpath=/var/lib/mysql/ #backupmethod=...
一、怎么样取得最新版本的mysql? 要安装mysql,首先要当然要取得它的最新版本,虽然大家都知道在freebsd的packages中可以找到mysql,但是我还是建议大家到网络上去找最新版本的mysql。我介绍大家到http://www.mysql.org去下载,这里的最新版本是mysql 3.23 versions 。 二、安装mysql时候的注意事项? 1、如果您是用mysql+apache,使用的又是freebsd网路操作系统的话,安装时候你应按注意到freebsd的版本问题,在freebsd的3.0以下版本来说,mysql source内含的mit-pthread运行是正常的,但在这版本以上,你必须使用native threads,也就是加入一个with-named-thread-libs=-lc_r的选项。2、如果您在compile过程中出了问题,请先检查你的gcc版本是否在...
mysql数据类型根据定义,数据库管理系统的目的就是管理数据。即使一条简单的select 1语句也涉及表达式求值以产生一个整型数据值。mysql中的每个数据值都有类型。例如, 37.4 是一个数,而“ a b c”是一个串。有时,数据的类型是明显的,因为在使用create table 语句时指定了作为表的组成部分定义的每个列的类型,如: 而有时,数据类型是不明确的,如在一个表达式中引用直接值时,将值传送给一个函数,或使用从该函数返回的值,如: insert 语句完成下列操作,这些操作全都涉及数据类型: ■ 将整数值14 赋给整数列i n t _ c o l。 ■ 将串值“ a”和“b”传递给函数c o n c at( )。c o n c at( ) 返回串值“a b”,这个串值被赋予串列s t r _ c o l。 ■ 将整数值1999 0 115 赋给日期列date _ c o l。而这...
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器