06 2012 档案

摘要:一、php客户端调用任意形式的服务端webservice其实要注意的就这两点:1、调用的函数如果要传参,参数一定要写在一个array里;2、传入的参数数组的键值对中,键值一定要与wsdl里描述的参数的name属性一致,eg:例子中的'in0'。//自己项目中用到的测试webservice代码,拿来当例子了try { $wsdl = "http://111.1.14.10/webservice/services/deliver?WSDL"; $client = new SoapClient($wsdl); //var_dump($client->__ge 阅读全文
posted @ 2012-06-06 20:56 Wiliz 阅读(821) 评论(0) 推荐(0) 编辑
摘要:这里还需要注意一点就是,需要安装profile模块才能实现。1、不过版本要在5.0.37之后。(SHOW PROFILES and SHOW PROFILE were added in MySQL 5.0.37.)SELECT @@profiling;来查看是否已经启用profile,如果profilng值为0,可以通过SET profiling = 1;来启用。启用profiling之后,我们执行一条查询语句,比如:select count(*) from roi_summary;然后show profiles查看如下:+----------------+------------+----- 阅读全文
posted @ 2012-06-02 22:12 Wiliz 阅读(10969) 评论(1) 推荐(2) 编辑
摘要:前面的部分中讲解的优化措施都是没有特权的MySQL用户能够执行的。可以控制MySQL服务器或计算机的系统管理员能够执行额外的优化措施。例如,有些服务器参数附属于查询处理过程,并且是可以调整的,而且某些硬件配置因素对查询处理速度有直接的影响。在很多情况下,这些优化措施提高了整个服务器的性能,因此可以让所有的MySQL用户都受益。 一般来说,当你执行管理员优化的时候,应该紧记以下规则: · 访问内存中的数据快于访问磁盘上的数据。 · 尽量把数据保存在内存中可以减少磁盘操作。 · 保留索引中的信息比保留数据记录的内容更重要。 我们在后面将讨论如何应用这些规则。 增加服务 阅读全文
posted @ 2012-06-02 22:04 Wiliz 阅读(647) 评论(0) 推荐(0) 编辑
摘要:前面的部分主要是聚焦于如何让单独的查询执行的速度更快。MySQL还允许你改变语句调度的优先级,它可以使来自多个客户端的查询更好地协作,这样单个客户端就不会由于锁定而等待很长时间。改变优先级还可以确保特定类型的查询被处理得更快。这一部分讲解MySQL的默认的调度策略和可以用来影响这些策略的选项。它还谈到了并发性插入操作的使用和存储引擎锁定层次对客户端的并发性的影响。为了讨论的方便,我们把执行检索(SELECT)的客户端称为"读取者",把执行修改操作(DELETE、INSERT、REPLACE或UPDATE)的客户端称为"写入者"。 MySQL的默认的调度策 阅读全文
posted @ 2012-06-02 22:02 Wiliz 阅读(674) 评论(0) 推荐(0) 编辑
摘要:这一部分提供了如何选择数据类型来帮助提高查询运行速度的一些指导: 在可以使用短数据列的时候就不要用长的。如果你有一个固定长度的CHAR数据列,那么就不要让它的长度超出实际需要。如果你在数据列中存储的最长的值有40个字符,就不要定义成CHAR(255),而应该定义成CHAR(40)。如果你能够用MEDIUMINT代替BIGINT,那么你的数据表就小一些 (磁盘I/O少一些),在计算过程中,值的处理速度也快一些。如果数据列被索引了,那么使用较短的值带来的性能提高更加显著。不仅索引可以提高查询速度, 而且短的索引值也比长的索引值处理起来要快一些。 如果你可以选择数据行的存储格式,那么应该使用最... 阅读全文
posted @ 2012-06-02 22:01 Wiliz 阅读(784) 评论(0) 推荐(0) 编辑
摘要:索引是提高查询速度的最重要的工具。当然还有其它的一些技术可供使用,但是一般来说引起最大性能差异的都是索引的正确使用。在MySQL邮件列表中,人们经常询问那些让查询运行得更快的方法。在大多数情况下,我们应该怀疑数据表上有没有索引,并且通常在添加索引之后立即解决了问题。当然,并不总是这样简单 就可以解决问题的,因为优化技术本来就并非总是简单的。然而,如果没有使用索引,在很多情况下,你试图使用其它的方法来提高性能都是在浪费时间。首先使用 索引来获取最大的性能提高,接着再看其它的技术是否有用。 这一部分讲述了索引是什么以及索引是怎么样提高查询性能的。它还讨论了在某些环境中索引可能降低性能,并... 阅读全文
posted @ 2012-06-02 21:58 Wiliz 阅读(2870) 评论(1) 推荐(0) 编辑
摘要:Limit语法:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offsetLIMIT子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。为了与 PostgreSQL 兼容,MySQL 也支持句法:LIMIT # OFFSET #。eg:mysql> SELECT * FROM table LIMIT 5,10; //检索记录行6-1 阅读全文
posted @ 2012-06-02 21:41 Wiliz 阅读(2531) 评论(0) 推荐(0) 编辑
摘要:1、优化数据类型(1)避免使用NULL NULL对于大多数数据库都需要特殊处理,MySQL也不例外,它需要更多的代码,更多的检查和特殊的索引逻辑,有些开发人员完全没有意识到,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0、-1作为默认值。(2)仅可能使用更小的字段 MySQL从磁盘读取数据后是存储到内存中的,然后使用cpu周期和磁盘I/O读取它,这意味着越小的数据类型占用的空间越小,从磁盘读或打包到内存的效率都更好,但也不要太过执着减小数据类型,要是以后应用程序发生什么变化就没有空间了。修改表将需要重构,间接地可能引起代码的改变,这是很头疼的问题.. 阅读全文
posted @ 2012-06-02 17:37 Wiliz 阅读(1831) 评论(0) 推荐(0) 编辑
摘要:一、 通过查询缓冲提高查询速度 一般我们使用SQL语句进行查询时,数据库服务器每次在收到客户端发来SQL后,都会执行这条SQL语句。但当在一定间隔内(如1分钟内),接到完全一样的SQL语句,也同样执行它。虽然这样可以保证数据的实时性,但在大多数时候,数据并不要求完全的实时,也就是说可以有一定的延时。如果是这样的话,在短时间内执行完全一样的SQL就有些得不偿失。 幸好MySQL为我们提供了查询缓冲的功能(只能在MySQL 4.0.1及以上版本使用查询缓冲)。我们可以通过查询缓冲在一定程度上提高查询性能。1、我们可以通过在MySQL安装目录中的my.ini文件设置查询缓冲: 设置也非常简单,... 阅读全文
posted @ 2012-06-02 17:34 Wiliz 阅读(10756) 评论(0) 推荐(0) 编辑
摘要:MyISAMInnoDB构成上区别每个MyISAM在磁盘上存储成三个文件。文件名为表名,扩展名为文件类型。.frm 文件存储表定义;.MYD(MYData) 数据文件的扩展名;.MYI(MYIndex) 索引文件的扩展名。基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB事务处理方面MyISAM类型的表强调的是性能,其执行速度比InnoDB类型更快,但是不提供事务支持。InnoDB提供事务支持事务,外部键等高级数据库功能。锁表级锁行级锁InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范 阅读全文
posted @ 2012-06-02 16:33 Wiliz 阅读(522) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示