以图明志

数据库技术

设计高效的SQL语句过滤条件

高效过滤条件的准则是什呢?
在编写查询之前,我们甚至应该对过滤条件进行排序,真正高效的条件(可能有多个,涉到同的表)是查询的主要驱动力,低效条件只起辅助作用。那么定义高效过滤条件的准则是什呢?首先,要看过滤条件能否尽快减少必须处理的数据量。所以,我们必须倍加关注条件的写方式。

数据库技术

MySQL时间日期相关函数使用

可以实现一些常见的需求
数据库应用中对日期和时间的操作是非常常用的,MySQL自带了许多很有用的函数,可以帮助我们便捷地实现某些需求。下面我们来介绍一下相关的MySQL日期与实践函数。获取当前日期:curdate(),获取当前时间:curtime(),获取当前时间日期:now(),MySQL 允许任何expr 格式中的标点分隔符。表中所显示的是建议的分隔符。

数据库技术

怎样设计一个优秀的数据库

精选了其中的 60 个最佳技巧
一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。归纳历年来所走的弯路及体会,并在网上找了些对数据库设计颇有造诣的专业人士给大家传授一些设计数据库的技巧和经验。

数据库技术

使用MySQL时需要注意的细节

MySQL的技术细节跟你想象的不完全一样
在SQL中,NULL什么也不等于,而且NULL也不等于NULL。这个查询不会返回任何结果的,实际上,当构建那个plan的时候,优化器会把这样的语句优化掉。当搜索NULL值的时候,应该使用这样的查询:……ORDER BY会按照自然顺序来对输出结果进行排序:这就是说,当第一个表达式的值相等的时候,这些记录才会按照第二个表达式来排序。

数据库技术

MySQL中一些深入概念整理

MySQL深入
视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询(即:包含一个SQL查询),仅仅是用来查看存储在别处的数据的一种设施。存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合(实际上是一种函数),可将其视为批处理文件,虽然它们的作用不仅限于批处理。

数据库技术

MySQL 关于时区的问题

时区设置
网站服务器在美国,发布了一篇文章,时间戳为 1320115246,通过PHP修正后,可以显示成正常的时间,但是归类的时候去归到 10 月份的文章去了。在服务器端运行 SQL,发现该文章的发布时间是 2011-10-31 20:40:46,就是采用了服务器当地的时区了,而文章实际上是 2011-11-01 10:40:46 发布的。归类的时候没法用PHP修正,那么就用 SQL 修正吧。

数据库技术

大型Web应用的数据库设计与部署

负载均衡、读写分离、分布式
随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路由器衔接在一起,各节点相互协作、共同负载、均衡压力,对客户端来说,整个群集可以视为一台具有超高性能的独立服务器。

数据库技术

InnoDB表与索引结构相关知识整理

InnoDB和索引
MySQL把表的数据词典信息以.frm文件的形式存在数据库目录里,所有MySQL存储引擎都是这样的。但是每个InnoDB表在表空间内的InnoDB内部数据词典里也有它自己的条目。当MySQL移除表或数据库,它不得不删除.frm文件和InnoDB数据词典内的相应条目。这就是为什么你不能在数据库之间简单地移动.frm文件来移动InnoDB表。

数据库技术

MySQL时间日期查询相关函数与方法

时间日期函数
MySQL应用中,日期与查询是非常普遍的。比如要查某天、某个星期、或者某个月内的数据,查询两个日期之间的天数差,查询某天是星期几等等。下面就介绍一下相关的MySQL时间与日期函数,与它们的具体使用方法。MYSQL 有没有像 MSSQL 的 getdate() 函数?有,就是 NOW()。

数据库技术

GROUP BY分组查询与SQL执行顺序

SQL SELECT语句的执行顺序
在SQL中使用GROUP BY来对SELECT的结果进行数据分组,在具体使用GROUP BY之前需要知道一些重要的规定。对分组过于采用HAVING子句。HAVING子句支持所有WHERE的操作。HAVING与WHERE的区别在于WHERE是过滤行的,而HAVING是用来过滤分组。另一种理解WHERE与HAVING的区别的方法是,WHERE在分组之前过滤,而HAVING在分组之后以每组为单位过滤。

数据库技术

查看、设置与修改MySQL字符集

字符集总结
前一段时间,一直被MySQL的字符集困扰,今天就这方面的知识总结一下。MySQL的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。

数据库技术

MySQL字符集常见问题的解决方法

字符集的设置和修改
在Google中搜索“mysql 乱码”,可以查到“1,550,000”条结果;搜索“jsp 乱码”,可以查到“1,450,000”条结果,当然JSP乱码不一定就是MySQL乱码,但多数情况是编码问题(可能是页面编码、数据库编码)。可见,编码问题在我们开发过程中是经常出现的,因此对编码的了解、设置和修改就显得及其重要了。

数据库技术

优化数据库查询的一些原则

让你的网站数据响应更加迅速
可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描。

数据库技术

PHP MySQL应用中的字符集问题

为什么WordPress直接察看数据库也不乱码呢?
Character set顾名思义,就是字符、以及字符对应的编码的集合。例如简体中文字符集gb2312就包括简体中文中的所有规定汉字,以及每个汉字对应的代码。Collation,是指比较字符的规则的集合。有了比较规则,才能够将一组数据排序——例如按照英文字母顺序排序、汉字按照拼音顺序排序等等。

数据库技术

如何用SQL语句去掉重复记录

巧用SQL提高执行效率
海量数据(百万以上),其中有些全部字段都相同,有些部分字段相同,怎样高效去除重复?其中下面这条会稍快些。上面这条数据对于100万以内的数据效率还可以,重复数1/5的情况下几分钟到几十分钟不等,但是如果数据量达到300万以上,效率骤降,如果重复数据再多点的话,常常会几十小时跑不完,有时候会锁表跑一夜都跑不完。

数据库技术

SQL删除、查找重复数据记录等操作

总结处理重复记录的方法
数据库产生重复数据记录是经常发生的事情,现在NowaMagic总结下各种重复的情况,每一种情况该如何写SQL语句处理。查找所有重复标题的记录,查找全部重复记录,过滤重复记录(只显示一条),删除全部重复记录(慎用),保留一条(这个应该是大多数人所需要的 ^_^)等等。
4 / 6 首页 < Prev 2 3 4 5 6 Next > 尾页 页码: