摘要: 数据库元被影射成对象(object-relational mapping (ORM)层)Ruby代码table<=>classrow<=>objectcolumn<=>objectattributeclass和table的命名对应关系实例:Ruby代码Order<=>ordersTaxAgency<=>tax_agenciesPerson<=>peopleRuby代码#复数形式关闭方法config/environment.rb:ActiveRecord::Base.pluralize_table_names=false#自 阅读全文
posted @ 2012-06-23 17:28 云隐 阅读(761) 评论(0) 推荐(0) 编辑
摘要: 网上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与负责,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用status信息对mysql进行具体的优化,网上找了一篇文章,分页分得乱七八糟的,只能转到博客。mysql> show global status; 可以列出mysql服务器运行各种状态值,另外,查询mysql服务器配置信息语句:mysql> show variables;一、慢查询mysql> show varia 阅读全文
posted @ 2012-06-22 16:51 云隐 阅读(198) 评论(0) 推荐(0) 编辑
摘要: Mysql负荷较高,排查原因的方式有哪些? processlist/slowlog都没发现啥过慢的SQL语句,但负荷就是一波一波飚上去。简单说1:内存是否占用较多swap分区2:i/o压力大不大,最好把top显示的信息贴出来3:神马引擎,myisam还是innodb4:如果是i/o压力,反解binlog分析写入频繁度5:如果不是i/o压力,采样查询请求分析查询频繁度show status;查看具体的状态值,对症下药。用nmon监控一下,看看磁盘IO,用loadrunner强压一段时间。没有1秒以上的慢查询,不代表索引就没问题。解决好索引问题,负荷应该会降低很多。iostat -dx 1 观察磁 阅读全文
posted @ 2012-06-22 16:47 云隐 阅读(347) 评论(0) 推荐(0) 编辑
摘要: DDL—数据定义语言(Create,Alter,Drop,DECLARE)DML—数据操纵语言(Select,Delete,Update,Insert)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明:创建数据库Create DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 阅读全文
posted @ 2012-06-22 15:46 云隐 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 在《Ruby on Rails,使用关系数据库简介》中我们简要浏览了一下关系数据库的最基本概念,这里我们动手创建一个Rails项目可以使用的数据库。Rails可以与DB2、MySQL、Oracle、Postgres、Firebird以及 SQL Server数据库一起工作。新版Rails已经使用SQLite3作为缺省数据库类型了,但是为了管理方便和通用性的考虑,我依旧使用MySQL来作为数据库。在开始之前请先确保MySQL数据库安装完毕并且将环境变量设置好。检查MySQL安装正确性。[plain]C:\Windows\system32>mysql--versionmysqlVer14.1 阅读全文
posted @ 2012-06-20 06:36 云隐 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 1.主键一定是唯一性索引,唯一性索引并不一定就是主键 所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。数据库在设计时,主键起到了很重要的作用。 主键可以保证记录的唯一和主键域非空,数据库管理系统对于主键自动生成唯一索引,所以主键也是一个特殊的索引。2. 一个表中可以有多个唯一性索引,但只能有一个主键3. 主键列不允许空值,而唯一性索引列允许空值4.索引可以提高查询的速度.其实主键和索引都是 阅读全文
posted @ 2012-06-20 05:57 云隐 阅读(3684) 评论(0) 推荐(1) 编辑
摘要: RANGE 分区:基于属于一个给定连续区间的列值进行分配。。CREATE TABLE employees ( id INT NOT NULL, fname VARCHAR(30), lname VARCHAR(30), hired DATE NOT NULL DEFAULT '1970-01-01', separated DATE NOT NULL DEFAULT '9999-12-31', job_code INT NOT NULL, store_id INT NOT NULL)PARTITION BY RANGE (store_id) ( PARTITION 阅读全文
posted @ 2012-06-18 21:14 云隐 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 1. 使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWORD函数。2. 使用mysqladmin, mysqladmin -u root -p password mypasswd3. mysql> REPLACE INTO mysql.user (Host,User,Password) VALUES('%','username',PASSWORD('password'));mysql> FLUSH PRIVILEGES4. mysql> SET PASSWORD FORuserna 阅读全文
posted @ 2012-06-18 21:12 云隐 阅读(186) 评论(0) 推荐(0) 编辑
摘要: cat *.cpp *.h | wc -lwc命令 wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。 语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。 该命令各选项含义如下: - c 统计字节数。 - l 统计行数。 - w 统计字数。 这些选项可以组合使用。 输出列的顺序和数目不受选项的顺序和数目的影响。 总是按下述顺序显示并且每项最多一列。 行数、字数、字节数、文件名 如果命令行中没有文件名,则输... 阅读全文
posted @ 2012-06-18 10:26 云隐 阅读(9979) 评论(0) 推荐(0) 编辑
摘要: 一、各种索引介绍:1、普通索引 普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHEREcolumn=)或排序条件(ORDERBYcolumn)中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。 2、唯一索引 普通索引允许被索引的数据列包含重复的值。比如说,因为人有可能同名,所以同一个姓名在同一个“员工个人资料”数据表里可能出现两次或更多次。 如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为... 阅读全文
posted @ 2012-06-11 05:48 云隐 阅读(3595) 评论(0) 推荐(0) 编辑