WEB开发网
开发学院数据库MySQL 从MySQL得到最大的性能 阅读

从MySQL得到最大的性能

 2008-09-09 11:11:32 来源:WEB开发网   
核心提示: * 为了可靠,你可能想要使用袭击RAID 0+1(分割+镜像),从MySQL得到最大的性能(4),但是在这种情况下,你将需要2*N个驱动器来保存N个驱动器的数据,如果一个线程更新db1.tbl_a并且另一个线程更新db2.tbl_a,将有问题,如果你有钱,这可能是最好的选择!然而你也可能必

* 为了可靠,你可能想要使用袭击RAID 0+1(分割+镜像),但是在这种情况下,你将需要2*N个驱动器来保存N个驱动器的数据。如果你有钱,这可能是最好的选择!然而你也可能必须投资一些卷管理软件投资以高效地处理它。

* 一个好选择是让稍重要的数据(它能再生)上存在RAID 0磁盘上,而将确实重要的数据(像主机信息和日志文件)存在一个RAID 0+1或RAID N磁盘上。如果因为更新奇偶位你有许多写入,RAID N可能是一个问题。

* 你也可以对数据库使用的文件系统设置参数。一个容易的改变是以noatime选项挂装文件系统。这是它跳过更新在inode中的最后访问时间,而且这将避免一些磁盘寻道。

2.2.1 为数据库和表使用符号链接

你可以从数据库目录移动表和数据库到别处,并且用链接到新地点的符号代替它们。你可能想要这样做,例如,转移一个数据库到有更多空闲空间的一个文件系统。

如果MySQL注意到一个表是一个符号链接,它将解析符号链接并且使用其实际指向的表,它可工作在支持realpath()调用的所有系统上(至少Linux和Solaris支持realpath())!在不支持realpath()的系统上,你应该不同时通过真实路径和符号链接访问表!如果你这样做,表在任何更新后将不一致。

MySQL缺省不支持数据库链接。只要你不在数据库之间做一个符号链接,一切将工作正常。假定你在MySQL数据目录下有一个数据库db1,并且做了一个符号链接db2指向db1:

shell> cd /path/to/datadir
shell> ln -s db1 db2

现在,对在db1中的任一表tbl_a,在db2种也好象有一个表tbl_a。如果一个线程更新db1.tbl_a并且另一个线程更新db2.tbl_a,将有问题。

如果你确实需要这样,你必须改变下列在“mysys/mf_format.c”中的代码:

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:MySQL 得到 最大

编辑录入:coldstar [复制链接] [打 印]
赞助商链接