- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
垂直分表 当有一个表中,存在这样的字段,(1)数据量大(2)很少被查询,我们可以把这样的字段单独分割取出,放入到另外一张表,然后通过id关联。 看一个项目开发的实际需求 ? 按日期进行分区很非常适合,因为很多日期函数可以用。为让大家看到分区和不分区的区别,我们创建两张表,一张表使用分区,一张表不使用分区,请大家注意二者在查询时间的区别 对表进行分区 对表进行分区:细节讨论 表分区的限制(到mysql5.1.44) 只能对数据表的整型列进行分区,或者数据列可以通过分区函数转化成整型列 最大分区数目不能超过1024 如果含有唯一索引或者主键,则分区列必须包含在所有的唯一索引或者主键在内 不支持外键 不支持全文索引(fulltext) 按日期进行分区很非常适合,因为很多日期函数可以用。但是对于字符串来说合适的分区函数不太多 什么时候考虑对表分区 海量数据表 对于大表,特别是索引远远大于服务器有效内存时,可以不用索引,此时分区效率会更有效。 mysql分区类型(了解) MySQL支持RANGE(大于等于 ,小于),LIST [in],HASH(%),KEY分区类型,其中以RANGE最为常用: (前面的案例就是Range 分区放) 1. Range(范围)–这种模式允许将数据划分不同范围。例如可以将一个表通过年份划分成若干个分区。 2. Hash(哈希)–这中模式允许通过对表的一个或多个列的Hash Key进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区。例如可以建立一个对表主键进行分区的表。 3. Key(键值)-上面Hash模式的一种延伸,这里的Hash Key是MySQL系统产生的。 4. List(预定义列表)–这种模式允许系统通过预定义的列表的值来对数据进行分割。 5. Composite(复合模式) –以上模式的组合使用 [? 可以带学生看看Mysql表分区的各个类型详解(range list hash key).doc] 对表进行分区:细节讨论 最重要的参数就是内存,我们主要用的innodb引擎,所以下面两个参数调的很大 innodb_additional_mem_pool_size = 64M innodb_buffer_pool_size =1G 对于myisam,需要调整key_buffer_size 当然调整参数还是要看状态,用show status语句可以看到当前状态,以决定改调整哪些参数 在my.ini修改端口3306,默认存储引擎和最大连接数 max_connetions 100 query_cache_size 100m 数据库参数配置 数据备份与恢复 作为一个成熟的电子商城项目,常规的增删改查当然是最常规最频繁的应用,但备份技术也必不可少,否则可能会带来灾难性的后果. 通过操作系统的定时任务功能,可以自动调用备份命令进行备份操作. 在必要时可以进行数据的恢复。 系统运行中,增量备份,与整体备份。 例如,每周日整体备份一次,周一到周六备份当天。 如果周五出了问题,可以用周日的整体+周一,二,三。四来恢复。 备份的工具 有第三方的 收费备份工具。 目前我们所学的是系统自带的备份功能,mysqldump,可以导出库和表 mydqldump:可以导出库、表 导出某库下面的某表 mysqldump –u 用户名 –p 密码 库名 表1 表2 表3 地址/备份文件名称 例如:C:\Documents and Settings\Administratormysqldump -uroot -proot hao goods d:\\hao.sql 导出的是建表语句及insert语句。 如何导出一个库下面的所有表? mysqldump –u 用户名 –p密码 库名 地址/备份文件名称。 如何导出一个库? mydqldump –u 用户名 –p密码 –B 库1 库2 库3 地址/备份文件名称。 如何导出所有库? mysqldump –u用户名 –p 密码 -A 地址/备份文件名称。 数据恢复 如果是以库为单位导出的sql文件 1:登录到mysql命令行 对于库级的备份文件。 mysql source备份文件地址。 对于表级的备份文件 msyqluse 库名 msyqlsource 备份文件地址 source d:/mandphp.sql; 2:不登录到mysql命令行 针对库级的备份文件 mysql –u用户名 –p密码 库级备份文件地址 C:\Documents and Settings\Administratormysql -uroot -proot d:/hao21.sql 针对表级的备份文件 mysql –u用户名 –p密码 库名 表级备份文件地址 * 建立
文档评论(0)