樱花公主

导航

随笔分类 -  MYSQL

MySQL 性能优化的最佳20多条经验分享(收藏)
摘要:1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。 这里最主要的问题是,对于程序员来 阅读全文

posted @ 2017-02-14 10:17 修炼1987 阅读(281) 评论(0) 推荐(0)

find_in_set()
摘要:$where[]="find_in_set('".$grades."',a.grades)"; 阅读全文

posted @ 2015-01-16 09:23 修炼1987 阅读(127) 评论(0) 推荐(0)

sql 语句中使用条件判断case then else end
摘要:sql 语句中使用条件判断case then else end范例:SELECT les.[nLessonNo] FROM BS_Lesson AS les WHERE les.[sClassCode] = 'BJ13Q2429' AND (case when les.[sRealTeacherCode]'' then les.[sRealTeacherCode] else les.[sTeacherCode] end )= 'xxxxx' order by les.[nLessonNo] ASC 阅读全文

posted @ 2013-12-11 11:17 修炼1987 阅读(298) 评论(0) 推荐(0)

通俗易懂的数据库设计三大范式
摘要:通俗易懂的数据库设计三大范式 以前看数据库三大范式的解释的时候,脑袋里总是一团浆糊,不清不楚,感觉不是很通俗易懂,今天无意中看到了一种对范式的解释,很是容易理解,转载过来分享一下O(∩_∩)O哈! 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 在实际开发中最为常见的设计范式有三个: 1.第一范式 第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。 第一范式的合理遵循需要根据系统的实际需... 阅读全文

posted @ 2013-03-12 10:47 修炼1987 阅读(243) 评论(0) 推荐(0)

PHP站点性能优化方法总结
摘要:一、代码优化,我自己认为“代码优化”分两种,一种是从代码质量上提高,一种是通过优化引擎来对网站代码进行优化, 1、代码质量上,尽量避免代码冗余, (1)不在循环中对数据库进行select操作、 (2)在程序开头文件包含代码中尽量使用require_once()或require() ,在流程控制区段的文件包含使用include_once()或include(),包含文件时要使用完整路径,解析操作系统路径所需时间就会变少 (3)在执行for循环之前要事先确定最大循环数,不要每循环一次都计算最大值 (4)随时注销那些不使用的变量,尤其是大数组,以便释放内存 (5)使用... 阅读全文

posted @ 2012-08-20 14:42 修炼1987 阅读(304) 评论(0) 推荐(0)

创建高安全性PHP网站的几个实用要点(转载)
摘要:大家都知道PHP已经是当前最流行的Web应用编程语言了。但是也与其他脚本语言一样,PHP也有几个很危险的安全漏洞。所以在这篇教学文章中,我们将大致看看几个实用的技巧来让你避免一些常见的PHP安全问题。 技巧1:使用合适的错误报告 一般在开发过程中,很多程序员总是忘了制作程序错误报告,这是极大的错误,因为恰当的错误报告不仅仅是最好的调试工具,也是极佳的安全漏洞检测工具,这能让你把应用真正上线前尽可能找出你将会遇到的问题。 当然也有很多方式去启用错误报告。比如在 php.in 配置文件中你可以设置在运行时启用 启动错误报告 error_reporting(E_ALL); 停用错误报告... 阅读全文

posted @ 2012-08-06 13:46 修炼1987 阅读(186) 评论(0) 推荐(0)

替换字符串sql语句
摘要:最近用到的替换数据表中字符串的需求挺多的,现在把替换字符串的sql语句粘贴出来,分享给大家,也方便以后自己查看:UPDATE v9_poster SET setting = REPLACE( setting, 'my.protal.com','my.portal.com') ;注释:v9_poster 表名称 setting 字段名称 my.protal.com 是原字符串,即需要被替换的字符串 my.portal.com 是新字符串,即要替换成的字符串 阅读全文

posted @ 2012-07-11 14:03 修炼1987 阅读(638) 评论(0) 推荐(0)

MySQL性能优化 (转载)
摘要:原文link: http://andyao.javaeye.com/admin/show/1440331. 简介 在Web应用程序体系架构中,数据持久层(通常是一个关系数据库)是关键的核心部分,它对系统的性能有非常重要的影响。MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的差,仅仅是一个玩具数据库。因此在产品中使用MySQL数据库必须进行必要的优化。优化是一个复杂的任务,本文描述MySQL相关的数据库设计和查询优化,服务器端优化,存储引擎优化。2. 数据库设计和查询优化 在MySQL Server性能调优中,首先要考虑的就是Database Schema设计,这一 阅读全文

posted @ 2012-01-30 18:00 修炼1987 阅读(221) 评论(0) 推荐(0)

sql语句中的USING($field_name)的用法
摘要:今天发现了sql语句使用连接(join)时的一个从来没有了解到的写法,写个范例语句:SELECT * FROM student LEFT JOIN sc USING(sno)就是连接的条件用的是USING而不是ON,呵呵,我结合数据表结构想了下感觉可能如果当两个数据表中关联的字段名都一样时,就可以这样用USING(字段名)代替ON语句了,上面的sql语句等同于下面的sql语句SELECT * FROM student LEFT JOIN sc ON student.sno=sc.sno感慨一下,发现新的知识,感觉真的很不错,希望自己能不断的学到新的东西,加油!!!!!!! 阅读全文

posted @ 2011-06-27 16:27 修炼1987 阅读(2956) 评论(0) 推荐(0)

REPLACE INTO 与 INSERT INTO 的区别
摘要:REPLACE的运行与INSERT很相似。只有一点例外,假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。所有列的值均取自在REPLACE语句中被指定的值。所有缺失的列被设置为各自的默认值,这和INSERT一样。您不能从当前行中引用值, 也不能在新行中使用值。如果您使用一个例如“SET col_name = col_name + 1”的赋值 阅读全文

posted @ 2011-06-27 16:10 修炼1987 阅读(789) 评论(0) 推荐(1)

sql_mode="" 的作用:
摘要:在看discuz源码时看到了sql_mode="",不知道是干嘛的,猜想是设置模式,但是不清楚是什么模式,于是从网上搜了下,sql_mode="" 的作用:-- -- 转载sql_mode="",即强制不设定MySql模式(如不作输入检测、错误提示、语法模式检查等)应该能提高性能,但有如下问题: 如果插入了不合适数据(错误类型或超常),mysql会将数据设为“最好的可能数据”而不报错,如: /数字 设为:0/可能最小值/可能最大值 /字符串 设为:空串/能够存储的最大容量字符串 /表达式 设为:返回一个可用值(1/0-null) 所以 阅读全文

posted @ 2011-06-24 16:18 修炼1987 阅读(496) 评论(0) 推荐(1)