标签 mysql 下的文章
如果和MSSQL的TOP语法相比,那么MySQL的LIMIT语法要显得优雅了许多。使用它来分页是再自然不过的事情了。最基本的分页方式:SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT ...在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就是确保使用了索引:举例来说,如果实际SQL类似下面语句,那么在category_id, id两列上建立复合索引比较好:SELECT * FROM articles WHERE category_id = 123 ORDER BY id LIMIT 50, 10子查询的分页方
ATTACH_20090430073856_3765.rar来源PHPchina.com
作者:老王问题:主从服务器表类型的选择一般的共识是主服务器使用innodb,从服务器使用myisam,以便各尽其能。问题:主从服务器字段类型的选择字段类型对于分页等操作有很大影响。主服务器一般是innodb,因为不涉及查询,所以可以使用varchar等来存储字符串来节省空间,从服务器一般是 myisam,因为涉及查询,所以必须在char和varchar之间仔细权衡,没有varchar, text, blob字段的表是静态表,反之是动态表,静态表的检索效率要比动态表好若干倍,
拿D盘为例首先在在CMD里面切换盘符 d:然后 cd MySql/bin进入到MYSQL安装目录/BIN 目录下用下面命令: mysql -u username -p databasename < XXX.sql 其中username 为mysql用户名,一般为root; databasename为你要导入数据的目标数据库名字; XXX.sql为你现在的sql文件 存放的目录;如c:/data.sql
Sun收购了mysql 花费了SUN老大整整10亿美元!!虽然这10亿花的值,但你也找个合适的时候啊!!要是再早点,那么您老也许就会少破费点儿吧!现在SUN的主页上是大篇幅的新闻!!去看看吧http://www.sun.com
原来的数据使用的是MySQL4.1,大概有800M左右。使用 mysqldump -u username -p dbname > “filename”导出的时候很容易死掉,而且数据也出现乱码。后来找到一个非常好用的工具-SQLyog,它里面有数据导入导出功能,而且效率非常的高(我800M的数据导出或导入都不到5分钟)。下面来说说整个的过程:1. 首先打开SQLyog,创建远程数据库连接。2. 然后选择“Tools”-“Export Data As SQL Statements”,选择数据库和表以及保存的sql文件名,然后点击“Export”按钮。这样就将数据备份到了sql文件中。如果导入的话选择“Tools”-“Import From SQL Statements”,然后选择sql文件执行就可以了。3. 如果是导入到本地的MySQL中的话只要断开远程数据库连接然后创建本地连接,接下来使用导入命令就可以了。说明几点:1. 导出的时候可以选择“只导出数据库结构”和“导出数据库结构和数据”,另外还有许多选项,比如是否自动创建新的数据库,是否删除存在的表等等,可以根据自己的需要选择。2. 导入数据的时候可能会出现 Got a packet bigger than ‘max_allowed_packet’ bytes 的错误提示(在SQLyog的错误日志里面),这是因为MySQL默认的 max_allowed_packet 设置为 1M,增大这个参数就可以了,比如设置为8M。默认的my.ini文件中是没有这个参数的,可以自行添加。
对于程序开发人员而言,目前使用最流行的两种后台数据库即为MySQL and SQL Server。这两者最基本的相似之处在于数据存储和属于查询系统。你可以使用SQL来访问这两种数据库的数据,因为它们都支持ANSI-SQL。还有,这两种数据库系统都支持二进制关键词和关键索引,这就大大地加快了查询速度。同时,二者也都提供支持XML的各种格式。 除了在显而易见的软件价格上的区别之外,这两个产品还有什么明显的区别吗?在这二者之间你是如何选择的?让我们看看这两个产品的主要的不同之处,包括发行费用,性能以及它们的安全性。 根本的区别是它们遵循的基本原则 二者所遵循的基本原则是它们的主要区别:开放vs保守。SQL服务器的狭隘的,保守的存储引擎与MySQL服务器的可扩展,开放的存储引擎绝然不同。虽然你可以使用SQL服务器的Sybase引擎,但MySQL能够提供更多种的选择,如MyISAM, Heap, InnoDB, and Berkeley DB。MySQL不完全支持陌生的关键词,所以它比SQL服务器要少一些相关的数据库。同时,MySQL也缺乏一些存储程序的功能,比如MyISAM引擎联支持交换功能。
1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段。另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。对于某些文本字段,例如“省份”或者“性别”,我们可以将它们定义为ENUM类型。因为在MySQL中,ENUM类型被当作数值型数据来处理,而数值型数据被处理起来的速度要比文本类型快得多。这样,我们又可以提高数据库的性能。