1.建立索引,尽可能把索引建立到你你经常比较的字段上,如select
成都创新互联是一家专业提供奉新企业网站建设,专注与做网站、成都网站设计、H5场景定制、小程序制作等业务。10年已为奉新众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
a,b,c,d
from
a
where
索引字段=值,这个索引字段最好是数值型数据
2.慢有更多情况,
情况1:远程查询,其实可能查询不慢,由于数据量大,传输过程慢
情况2:WHERE
后面的比较数据太多,比如
like
类的语句
情况3:需要哪个字段只取那个字段就行了,比如select
*
from
a与select
b,c,d
from
a速度是有差距的
3.数据库定期维护,压缩,把不常用的数据备份后放入备份库里,查询时查备份库等
问题补充:
.第一条:建立索引,怎么建立,我也听说过,但不知道怎么使用
答:每种数据建立索引的方法有差异,比如SQL
SERVER
2000中可对多个字段进行索引,比如SQL
SERVER2000中有命令
CREATE
INDEX
为给定表或视图创建索引。
只有表或视图的所有者才能为表创建索引。表或视图的所有者可以随时创建索引,无论表中是否有数据。可以通过指定限定的数据库名称,为另一个数据库中的表或视图创建索引。
语法
CREATE
[
UNIQUE
]
[
CLUSTERED
|
NONCLUSTERED
]
INDEX
index_name
ON
{
table
|
view
}
(
column
[
ASC
|
DESC
]
[
,...n
]
)
[
WITH
index_option
[
,...n]
]
[
ON
filegroup
]
index_option
::=
{
PAD_INDEX
|
FILLFACTOR
=
fillfactor
|
IGNORE_DUP_KEY
|
DROP_EXISTING
|
STATISTICS_NORECOMPUTE
|
SORT_IN_TEMPDB
}
第三条:数据库定期维护,压缩:怎么个压缩法?及时备份数据到备份库查询备份库,那查询时不是还慢吗?
答:这个有压缩工具,基本上每种数据库都有自己的压缩数据库的工具
这个问题在PHP的官方网站上叫缓冲查询和非缓冲查询(Buffered and Unbuffered queries)。PHP的查询缺省模式是缓冲模式。也就是说,查询数据结果会一次全部提取到内存里供PHP程序处理。这样给了PHP程序额外的功能,比如说,计算行数,将指针指向某一行等。更重要的是程序可以对数据集反复进行二次查询和过滤等操作。但这种缓冲查询模式的缺陷就是消耗内存,也就是用空间换速度。
相对的,另外一种PHP查询模式是非缓冲查询,数据库服务器会一条一条的返回数据,而不是一次全部返回,这样的结果就是PHP程序消耗较少的内存,但却增加了数据库服务器的压力,因为数据库会一直等待PHP来取数据,一直到数据全部取完。
很显然,缓冲查询模式适用于小数据量查询,而非缓冲查询适应于大数据量查询。
thinkPHP 查询数据库中id最大的一条数据操作如下:
先给数据库中的这个字段(sort)分组 再降序排列, 取第1条。
通过步骤1 获取了 sort值为最大的数据, 然后在 通过 where sort ='步骤1取的值'。
查询最大ID,select max(id) from table。
查询最大ID的记录 select * from table where id = (select max(id) from table)
或者select * from table t where not exists (select 1 from table t1 where t1.id t.id)