有什么好的资源可以用来理解主要引擎上的数据库调优和提高您在该领域的知识?
这个问题的思想是收集总存在的大量资源,这样人们就可以拥有一个“一站式”的知识商店,对好的、同行认可的资源。
通用SQL
PostgreSQL () ()
MySQL
/
甲骨文
MS Server
Sybase Sybase
JDBC
我在我的MySql数据库中使用Pomelo.EntityFrameworkCore.MySql (3.1.1)。
我正在运行以下查询:
var model = await _dbContext.Model.FirstOrDefaultAsync(x => x.MyString == myString);
模型定义:
[Table("model")]
public class Model
{
[Key]
[Column("id")]
public int Id { get; set; }
我们的MySQL服务器似乎使用了大量内存。
我尝试寻找没有索引的慢速查询和查询,并将峰值CPU使用率和Apache内存使用量减半,但MySQL内存始终保持在2.2GB (服务器上可用内存的51%左右)。
这是普列斯克的图表。运行在SSH窗口中的顶部显示相同的数字。
📷
有没有人知道为什么内存使用量是这样的常量,而不是高峰和低谷的应用程序的使用?
下面是MySQL调优初级脚本的输出:
-- MYSQL PERFORMANCE TUNING PRIMER --
- By: Matthew Montgomery -
MySQL Version 5.0.77
我在MySQL平台上运行以下SQL查询。
表A是一个只有一列(主键)和25K行的表。表B有几列和75K行。
执行以下查询需要20分钟。如果你能帮忙,我会很高兴的。
INSERT INTO sometable
SELECT A.PrimaryKeyColumn as keyword, 'SomeText', B.*
FROM A, B
WHERE B.PrimaryKeyColumn = CONCAT(A.PrimaryKeyColumn, B.NotUniqueButIndexedColumn);
我是新的scala和play框架2.6。我使用Futures for MYSQL数据库对30000条记录进行插入和选择操作。我尝试并测试了我的项目,编号为2,4,8和16。当我增加期货计数时,运行时间变得更大或相同。我使用的是Play的默认执行上下文和Play的默认数据库配置。我认为这应该是关于配置的。但是我找不到问题。有人能帮帮忙吗?谢谢
当您为Oracle编写相当复杂的SQL时,您迟早将不得不应用奇怪的执行提示,因为Oracle似乎无法计算出“最佳”执行计划本身。
现在,这肯定不是SQL标准。但是,我仍然想知道,是否有其他RDBMS支持这种类型的提示,我指的是“嵌入”在SQL中的提示?它们在语法上相似吗(例如,也放在SELECT关键字和第一个选择的COLUMN之间)?您是否知道比较各种RDBMS中的提示的通用文档页面?
注:我对这些关系数据库管理系统最感兴趣: Postgres、MySQL、HSQLDB、H2、Derby、SQLite、DB2、Sybase、SQL Server