以图明志

数据库技术

MySQL内存表的特性与使用介绍

存储在内存的数据表
内存表,就是放在内存中的表,所使用内存的大小可通过My.cnf中的max_heap_table_size指定,如max_heap_table_size=1024M,内存表与临时表并不相同,临时表也是存放在内存中,临时表最大所需内存需要通过tmp_table_size = 128M设定。当数据超过临时表的最大值设定时,自动转为磁盘表,此时因需要进行IO操作。

数据库技术

MySQL的存储引擎介绍与操作

什么是数据库的存储引擎
通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合。我们通常说的MySql数据库,sql server数据库等等其实是数据库管理系统,它们可以存储数据,并提供查询和更新数据库中的数据的功能等等。根据数据库如何存储数据和如何操作数据的实现机制不同,这些数据库之间即有区别又有共同点。

数据库技术

MySQL临时表的简单用法

在大数据量时有时会加快查询速度
当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后在这些表运行查询。临时表将在你连接MySQL期间存在。当你断开时,MySQL将自动删除表并释放所用的空间。

PHP服务器脚本

不用三方类库导出MySQL数据到Excel

简单易用,非常节省内存
经常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存使用上限。这里的方法是利用fputcsv写CSV文件的方法,直接向浏览器输出Excel文件。

数据库技术

MySQL数据库的组成与体系结构

图解MySQL的构成
MySQL是由SQL接口,解析器,优化器,缓存,存储引擎等组成的。Connectors指的是不同语言中与SQL的交互。Management Serveices & Utilities: 系统管理和控制工具。Connection Pool: 连接池。管理缓冲用户连接,线程处理等需要缓存的需求。

PHP服务器脚本

PHP mysql_real_escape_string的一处注意

必须要先建立数据库连接才能使用它
mysql_escape_string()也起到差不多的效果。关于这两个函数,记得我在用mysql_real_escape_string() 这个函数时,程序总是出错,不知道错误的原因,后来换成mysql_escape_string() 这个函数时,就可以了。查找手册,发现在用mysql_real_escape_string() 时,必须要先建立数据库连接,否则则报错 -___-|||

数据库技术

实用MySQL数据库优化技巧

你需要了解的MySQL特性
MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间。

数据库技术

MySQL的双表多表联查

从两个数据表中取回想要的结果集
最近在做EC-Mall的二次开发,遇到这么一个需求,将挂件单独显示成一个页面。由于EC-Mall的挂件是用数据模块+模块类库的方式进行的,就是使用类似smarty的形式。而单独一个页面的话,数据读取需要自己写SQL语句。现在的问题是,需要将商品中的汽车类中的推荐商品数据显示出来,sql如下……

数据库技术

MySQL Query Cache查询缓存介绍

降低你的数据库访问压力
顾名思义,MySQL Query Cache 就是用来缓存和 Query 相关的数据的。具体来说,Query Cache 缓存了我们客户端提交给 MySQL 的 SELECT 语句以及该语句的结果集。大概来讲,就是将 SELECT 语句和语句的结果做了一个 HASH 映射关系然后保存在一定的内存区域中。

数据库技术

MySQL获取某个时间范围内的数据

TO_DAYS(date)函数与now()函数
有这样一个需求,我们需要获得某个时间段内所有数据记录,比如最近一个月内的新闻,然后再在这个数据集合中进行排序,看哪个新闻的点击率最高。现在问题是,如何获得那个时间段。MySQL已经有些函数可以帮助我们,先看看这些函数吧。

数据库技术

提高MySQL效率与性能的技巧

数据库性能是个不得不面对的问题
数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。

数据库技术

MySQL的Order By Rand()有很严重的效率问题

获取数据库随机记录的高效方法
MySQL很多时候需要获取随机数据,举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1,但是,后来我查了一下MYSQL的官方手册,里面针对RAND()的提示大概意思就是,在ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描。

数据库技术

使用MySQL命令行了解SQL的执行结果

教你如何学习SQL
在命令行下学习SQL是个非常不错的选择,它可以直观地显示SQL的执行结果,下面使用Navicat的命令行工具看看常用的SQL语句的执行情况。

数据库技术

SQL练习:获取最后十条记录

当作SQL的练习吧
获取数据库最后若干条记录是很常见的用法,下面分别用几种方法去实现,当作SQL的练习吧。一种方法是数据库记录倒序排序,然后用limit 10子句获取10条。也可以取得最大记录的id,然后在WHERE子句减去10。下面也是用一样的方法,不过使用的是 count() 函数。
1 / 3 首页 < Prev 1 2 3 Next > 尾页 页码: