50得票8回答
MySQL分区/分片/拆分 - 选择哪种方式?

我们有一个InnoDB数据库,大约为70 GB,我们预计它在未来2到3年内会增长到数百GB。约60%的数据属于单个表。目前,由于我们有一台64 GB RAM的服务器,因此整个数据库几乎都适合内存,所以数据库运行得相当良好,但是我们担心未来数据量将大大增加。现在我们正在考虑某种分割表格的方法(特...

46得票7回答
MySQL在处理非常大的表时的计数性能

我有一个包含一亿多行记录的Innodb表格。 我需要知道外键等于1的行是否超过5000行。并不需要知道确切数量。 我进行了一些测试: SELECT COUNT(*) FROM table WHERE fk = 1 => 16秒 SELECT COUNT(*) FROM table WHE...

41得票3回答
PostgreSql表中UUID、CHAR和VARCHAR之间的性能差异?

我正在将UUID v4值存储在PostgreSQL v9.4表中的"id"列下。 在创建表时,如果我将"id"列定义为VARCHAR(36), CHAR(36)或UUID数据类型,是否会对写入或读取性能产生影响? 谢谢!

38得票5回答
BerkeleyDB并发

在C++实现的BerkeleyDB中,最优并发级别是多少? 在资源争用的情况下,我可以有多少个线程同时访问数据库而不影响吞吐量? 我已经阅读了手册,并知道如何设置锁、锁定器、数据库页面大小等,但我想听听有实际BDB并发经验的人的建议。 我的应用程序非常简单,我将对每个约1KB的记录进行...

37得票1回答
为什么Spring/Hibernate只读数据库事务比读写慢?

我已经对只读和读写数据库事务的性能进行了一些研究。MySQL服务器位于远程缓慢的VPN链接上,因此我可以很容易地看到事务类型之间的差异。这是使用连接池的,我知道它正在工作,因为我比较了第一次和第二次JDBC调用。 当我将Spring AOP配置为在我的DAO调用中使用只读事务时,与读写相比,...

36得票2回答
exec sp_updatestats是做什么的?

sp_updatestats是用来更新SQL Server数据库中统计信息的存储过程,它有助于优化查询性能。可以在生产环境中运行该存储过程,但在高负载时间或其他关键时间段最好避免执行。

36得票5回答
MySQL | 正则表达式 VS Like

我的数据库中有一个名为CANDIDATE的表,运行在MySQL 5.5下。我正在尝试从表中获取那些RAM包含在firstname中的行,因此我可以运行以下两个查询,但我想知道哪个查询应该长期使用以便于优化。SELECT * FROM CANDIDATE c WHERE firstname RE...

33得票2回答
FAST_FORWARD游标何时会有工作表(这是否应该避免)?

背景 在尝试运行总计查询时,我注意到有时预估的计划只显示一个“获取查询”。 实际计划显示从聚集索引扫描中重复获取 在其他情况下(例如向查询添加TOP时),估计的计划显示一个“Population Query”阶段,该阶段填充工作表。 实际计划显示使用聚集索引扫描来填充工作表...

32得票4回答
性能调优:为布尔列创建索引

我编写了一个守护进程处理器,将从一个数据库中获取行并插入到另一个数据库中进行同步。它将根据一个布尔标志sync_done来获取行。 我的表有数十万行。当我选择所有sync_done为false的行时,是否会导致任何数据库性能问题?由于只获取值为false的sync_done行,因此是否应该对...

27得票1回答
PostgreSQL外键是否意味着索引?

我有一个 postgres 表格(我们称之为 Events),它具有对另一个表格的组合外键引用(我们称之为 Logs)。 Events 表格看起来像这样:CREATE TABLE Events ( ColPrimary UUID, ColA VARCHAR(50), ColB...