摘要: func_num_args() 的使用function foo(){$numargs = func_num_args(); //参数数量echo "参数个数是: $numargs\n";if ($numargs >= 2) {echo "第二个参数的值:" . func_get_arg(1) . "... 阅读全文
posted @ 2015-04-13 13:35 江湖踏歌行 阅读(78) 评论(0) 推荐(0) 编辑
摘要: Query Profiler是MYSQL自带的一种query诊断分析工具,通过它可以分析出一条SQL语句的性能瓶颈在什么地方。通常我们是使用的explain,以及slow query log都无法做到精确分析,但是Query Profiler却可以定位出一条SQL语句执行的各种资源消耗情况,比如CPU,IO等,以及该SQL执行所耗费的时间等。不过该工具只有在MYSQL 5.0.37以及以上版本中才有实现。默认的情况下,MYSQL的该功能没有打开,需要自己手动启动。可以通过如下方法查看当前mysql服务器是否开启了该功能。mysql> show variables like '%p 阅读全文
posted @ 2014-04-09 18:19 江湖踏歌行 阅读(983) 评论(0) 推荐(0) 编辑
摘要: 一,什么是foreign key,及其完整性个人觉得,foreign key就是表与表之间的某种约定的关系,由于这种关系的存在,我们能够让表与表之间的数据,更加的完整,关连性更强。关于完整性,关连性我举个例子,大家就会明白了。有二张表,一张是用户表,一张是订单表:1,如果我删除了用户表里的用户,那么订单表里面根这个用户有关的数据,就成了无头数据了,不完整了。2,如果我在订单表里面,随便插入了一条数据,这个订单在用户表里面,没有与之对应的用户。这样数据也不完整了。如果有外键的话,就方便多了,可以不让用户删除数据,或者删除用户的话,通过外键同样删除订单表里面的数据,这样也能让数据完整。二,使用fo 阅读全文
posted @ 2014-04-09 11:53 江湖踏歌行 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 日志文件1、错误日志:Error Log错误日志记录了MyQL Server 运行过程中所有较为严重的警告和错误信息,以及MySQL Server 每次启动和关闭的详细信息。在默认情况下,系统记录错误日志的功能是关闭的,错误信息被输出到标准错误输出(stderr),如果要开启系统记录错误日志的功能,需要在启动时开启-log-error 选项。错误日志的默认存放位置在数据目录下,以hostname.err 命名。但是可以使用命令:--log-error[=file_name],修改其存放目录和文件名。为了方便维护需要,有时候会希望将错误日志中的内容做备份并重新开始记录,这时候就可以利用MySQL 阅读全文
posted @ 2014-04-09 10:55 江湖踏歌行 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 无论是对于哪一种数据库来说,缓存技术都是提高数据库性能的关键技术,物理磁盘的访问速度永 远都会与内存的访问速度永远都不是一个数量级的。通过缓存技术无论是在读还是写方面都可以大大提 高数据库整体性能。Innodb_buffer_pool_size 的合理设置Innodb 存储引擎的缓存机制和 MyISAM 的最大区别就在于 Innodb 不仅仅缓存索引,同时还会缓存实 际的数据。所以,完全相同的数据库,使用 Innodb 存储引擎可以使用更多的内存来缓存数据库相关的信 息,当然前提是要有足够的物理内存。这对于在现在这个内存价格不断降低的时代,无疑是个很吸引人 的特性。innodb_buffer_ 阅读全文
posted @ 2014-04-04 10:55 江湖踏歌行 阅读(293) 评论(0) 推荐(0) 编辑
摘要: DEFINER:指定视图的创建者(或者说属主,虽然MySQL中的对象其实不注重属主,这点与ORACLE数据库极为不同),默认当然就是执行CREATE VIEW语句的CURRENT_USER,但是创建时也可以指定不同的用户做为创建者(或者叫视图所有人);SQL SECURITY:视图查询数据时的安全验证方式,有两处选项:DEFINER:这个不是指创建者了,而是说在创建视图时验证是否有权限访问视图所引用的数据;INVOKER:指查询视图时,验证查询的用户是否拥有权限访问视图及视图所引用的对象;首先创建两个视图:mysql> create sql security definer view j 阅读全文
posted @ 2014-04-03 11:14 江湖踏歌行 阅读(800) 评论(0) 推荐(0) 编辑
摘要: MySQL用户帐户管理这一部分我们将会讨论如何为我们的MySQL服务器客户端设置帐户。我们将会讨论下面的一些问题:1在MySQL中使用的帐户的用户以及密码的含义并与我们在操作系统中使用的用户以及密码进行比较2如何设置新的帐户以及删除已经存在的帐户3如何更改密码4安全使用密码向导5如何使用SSL进行安全连接MySQL用户名与密码MySQL的用户帐户是从用户名以及用户可以使用来与服务器进行连接的客户端主机或是主机的角度来进行定义的。用户帐户也会有一个密码。MySQL中使用用户名与密码的方式与操作系统使用用户名与密码的方式之间存在着下面的一些不同:1 MySQL为授权目的而使用的用户名与我们在Win 阅读全文
posted @ 2014-03-31 13:13 江湖踏歌行 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。我们可以通过interface来定义一个接口,就像定义一个标准的类一样,但其中定义所有的方法都是空的。接口中定义的所有方法都必须是public,这是接口的特性。实现要实现一个接口,可以使用implements操作符。类中必须实现接口中定义的所有方法,否则 会报一个fatal错误。如果要实现多个接口,可以用逗号来分隔多个接口的名称。实现多个接口时,接口中的方法不能有重名。接口也可以继承,通过使用extends操作符。常量接口中也可以定义常量。接口常量和类常量的使用完全相同。 它们都是定值,不能被子类 阅读全文
posted @ 2014-03-26 17:09 江湖踏歌行 阅读(155) 评论(0) 推荐(0) 编辑
摘要: PHP5支持抽象类和抽象方法。抽象类不能直接被实例化,你必须先继承该抽象类,然后再实例化子类。任何一个类, 如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。如果类方法被声明为抽象的, 那么其中就不能包括具体的功能实现。继承一个抽象类的时候,子类必须实现抽象类中的所有抽象方法;另外,这些方法的可见性 必须和抽象类中一样(或者更为宽松)。如果抽象类中某个抽象方法被声明为protected,那么子类中实现的方法就应该声明为protected或者public,而不 能定义为private。getValue() . "\n"; }}class Concret 阅读全文
posted @ 2014-03-26 16:41 江湖踏歌行 阅读(126) 评论(0) 推荐(0) 编辑