Php 使用哪个数据库以及如何加速
我有一个项目来存储和处理用户的费用。数据库上只有两个操作:插入和选择。数据库每天可能包含数百万条条目(取决于用户数量或用户是否为公司等) 常见查询:Php 使用哪个数据库以及如何加速,php,mysql,database,performance,database-design,Php,Mysql,Database,Performance,Database Design,我有一个项目来存储和处理用户的费用。数据库上只有两个操作:插入和选择。数据库每天可能包含数百万条条目(取决于用户数量或用户是否为公司等) 常见查询: 显示从日期x到日期y的费用。(大部分) 对查询应用筛选器(1) 显示截止日期前特定项目的费用。(整个表格中的查询) 显示截止日期的所有费用。(很少) 1:我不知道该使用哪个数据库:SQL还是NoSQL,或者SQL和NoSQL结合使用(我的情况如何?)。我需要在查询大量数据时基于速度进行比较 2:因为每天它可能包含数百万条记录,所以查询产生的数百万行
日期x
到日期y
的费用。(大部分)(Loop until getting data from database){
i=0;
SELECT * FROM <Table> LIMIT i, 1000;
i+=1000;
}
(循环直到从数据库获取数据){
i=0;
从极限i中选择*1000;
i+=1000;
}
它仍然很慢,但现在系统在传输过程中没有挂起。但是LIMIT
在这里的工作方式是,获取前1000条记录(而i=0
),然后获取第二个1000条记录(而i=1000
)等等。或者它将获得前1000条记录(而i=0
),然后再次从0开始,但跳过前1000条记录,然后获得第二个1000条记录(而i=1000
),等等,这显然会慢得多。(我在网上搜索是为了了解限制的机制,但到处都在谈论有顺序的限制,而不是如何获得有限制的页面数据以及它对性能的影响。)
p.S.我不是数据库专家。只是个初学者。因此,在开始项目之前征求专家的建议。如果您每天有数百万条条目,我认为您应该使用NoSQL数据库。它将在处理大数据方面更快、更高效。我建议您这样做,因为您只能对大量数据执行插入和选择功能。它有一个很好的文档,并且很容易使用。我认为它会很好地为您服务。关系数据库的速度将取决于您如何对表进行结构化和索引;其他一切都来自于此;但是,如果设计得当,像MySQL这样的关系数据库完全能够快速有效地处理数百万条记录。@MarkBaker我目前的方法将数据存储在5个不同的表中,以达到规范化级别3。我知道它可以快速从数百万条记录中提取几行。但是,从数百万条记录中获取数百万行是否相同?这取决于您的索引和查询。。。。但是,在可能的情况下,您应该避免使用任何数据库返回数百万条记录,而是使用SQL函数返回您需要的数据一个包含数百万个数据点的图形将不容易被人类读取。。。。所以我很怀疑你真的这么做。我希望您的图表按日期或部门(或类似部门)进行聚合,因此您不需要返回数百万行,只需让数据库查询返回聚合数据在这种情况下,您需要返回数百万行,无论您是使用关系数据库还是NoSQL数据库,当您必须处理事务中的大量数据时,它都将是缓慢而低效的