mysql物化视图的第三方方案
mysql没有直接提供物化视图,但是市面上第三方的方案 比如: http://code.google.com/p/flexviews/
mysql没有直接提供物化视图,但是市面上第三方的方案 比如: http://code.google.com/p/flexviews/
mysql server里面内置了一个类于似log4j的日志框架,以输出mysqld执行时产生的trace log. 要让mysql服务器在运行时输出此类trace log,可以这样启动mysql: (for version 5.1) mysqld –debug=d:F:L:n:O,trace.log:t 具体参数见下图:(摘自 ‘Expert MySQL’)
支持所有字符集: ./configure –with-extra-charsets=all
在Linux环境里调试MySQL
步骤: 0.安装g++: yum install gcc-c++* 1.安装yum install ncurses-devel, 否则在./configure时可能会遇到 No curses/termcap library found错误 2. ./configure –with-debug –enable-mysql-maintainer-mode=no #如果没有后面这个参数,会导致warnings being treated as errors,一些警告就会导致安装失败 3. make 4. sudo make install 参考: http://book.51cto.com/art/201001/180782.htm http://hi.baidu.com/zys1234/blog/item/a9ae56019256541f1d9583d4.html http://bugs.mysql.com/bug.php?id=57989 http://www.blogjava.net/chenlb/archive/2007/03/20/105114.html的最后一个评论,解决redeclaration of C++ built-in type ‘bool’
Ubuntu上mysqld service的配置文件是/etc/init/mysql.conf. 如果启动mysql server出现问题,可以看看是不是这个配置文件里的条件没被满足。 如 https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1/+bug/573318
http://www.hellodb.net/ ======================================= 再次推一下我的博客:www.hellodb.net,上面有很多关于SSD性能评测,数据库高可用,数据库优化的文章,也许你的问题都能找到答案。 #AskHelloDBA#
问题: server端的charset设置如何影响程序的正确性? jdbc url里的characterEncoding呢? 研究方法: 执行一条带有中文字面量的查询语句,并断点跟踪mysql jdbc driver的源码,重点关注字符集的设定、字节与字符之间的互转 研究工具: 1.打开driver的sql日志功能: jdbc:mysql://…/…? profileSQL=true,以查看c/s之间的所有sql 2.使用wireshark抓取c/s之间的通讯数据包 软件版本:mysql server: 5.1, jdbc driver: connector/j 5.1.8 测试数据及程序: 1. 数据库的character_set_server = gbk, 但character_set_client = utf8, character_set_results = utf8, character_set_connection = utf8 2. 数据库有一张表,这张表里有一个字段name, name字段采用与服务器同样的编码(即gbk),且表里有一条记录,它的name值为汉字“一“ 3. 程序伪码: DriverManager.getConnection(…); //建立连接 String name = executeQuery("select * from … where name …
charset 和 collation 有多个级别的设置:服务器级、数据库级、表级、列级和连接级 1.服务器级 查看设置:show global variables like ‘character_set_server’; 和 show global variables like ‘collation_server’; 修改设置:在OPTION FILE (/etc/mysql/my.cnf)里设置: [mysqld] character_set_server=utf8 collation_server=utf8_general_ci 2. 数据库级 查看设置:select * from information_schema.schemata where schema_name = ‘cookbook’; 设置: 1.若没有显式设置,则自动使用服务器级的配置 2.显式设置:在创建库时指定 create database playUtf8 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; 3.表级 …
1. Sequence a.可以把列定义为自增键。这跟Sql Server类似,跟Oracle不同。 create table person( id int unsigned not null auto_increment, primary key(id) … ) 和sql server一样,插入数据时不必指定自增键的值 b.id最大的记录删除后,重新插入的数据的id是多少? 这个答案跟mysql的存储引擎有关。 i. 对于bdb引擎,新的id = 现有id的最大值 + 1; 如果刚删除的最大id=8, 当前的id最大值=7, 则新的id = 7 + 1 =8 ! 也就是说,id =8 被重复使用了! ii. 对于MyISAM和InnoDB引擎,则可以保证id不会被重用 …