AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-15922

Michał Herman's questions

Martin Hope
Michał Herman
Asked: 2019-07-02 06:11:03 +0800 CST

Posgresql - 非相关查询的死锁

  • 0

我正在使用 Postgresql 11。
我在日志中发现了类似于以下内容的错误:

org.postgresql.util.PSQLException: ERROR: deadlock detected
  Detail: Process 332091 waits for ShareLock on transaction 99896257; blocked by process 332093.
Process 332093 waits for ShareLock on transaction 99923910; blocked by process 332091.
  Hint: See server log for query details.
  Where: while locking tuple (884208,33) in relation "tab_1"
SQL statement "SELECT 1 FROM ONLY "sch"."tab_1" x WHERE "tab_1_key" OPERATOR(pg_catalog.=) $1 FOR KEY SHARE OF x"
SQL statement "INSERT INTO sch.tab_2 (col1, col2, ..., coln)
   SELECT
      col1,
      col2,
      ...
      coln
   FROM
      sch.tab_3 
   LEFT JOIN sch.tab_4 
      ON tab_4.id = tab_3.id
   LEFT JOIN sch.tab_5 
      ON tab_5.id = tab_3.id

所以基本上第一个查询看起来像一些数据库内部查询,我的代码没有。
似乎它使我的查询陷入僵局。但它们与任何表都不相关。
在这种情况下如何跟踪死锁原因的任何想法?

postgresql deadlock
  • 1 个回答
  • 619 Views
Martin Hope
Michał Herman
Asked: 2017-01-13 02:10:46 +0800 CST

Oracle“插入/*+APPEND*/”到空表中

  • 0

我在脚本中有以下代码:

execute immediate 'truncate table tab_a drop storage';

insert /*+APPEND*/ into tab_a
select (...)

我想知道这个APPEND提示是否会导致任何性能变化,因为表被截断并且存储被丢弃。
欢迎任何信息、提示或资源。

oracle insert
  • 2 个回答
  • 3653 Views
Martin Hope
Michał Herman
Asked: 2015-07-10 05:27:50 +0800 CST

函数内的 Oracle (+) 表示法

  • 2

如果我们使用(+)符号,我们可以有外部连接。例如:

select *
from tab_a, tab_b
where tab_a.num = tab_b.num(+)

是外连接。
如果我们在列周围使用函数,例如:

select *
from tab_a, tab_b
where round(tab_a.num, 2) = round(tab_b.num(+), 2)

还是outer join?还是成为内连接?

oracle join
  • 1 个回答
  • 134 Views
Martin Hope
Michał Herman
Asked: 2015-04-18 07:28:31 +0800 CST

connect by 真的有效吗?它是如何乘以行的?

  • 0

我知道(在高抽象层次上)Oracle 中的层次结构是如何工作的,但我不明白这一点。发出以下查询时:

select rownum-1 as num from dual

结果我得到了一排。
以下查询:

select rownum-1 as num from dual connect by level<=1000

正在返回 1000 行。
这个查询的背景到底发生了什么?Oracle 引擎在尝试解析层次结构时如何乘以行。

oracle hierarchy
  • 1 个回答
  • 509 Views
Martin Hope
Michał Herman
Asked: 2015-03-27 04:08:59 +0800 CST

压缩分区 - 索引呢?

  • 1

为了节省磁盘空间,我想压缩表的一些分区:

alter table TEST_TAB move partition TEST_TAB_2014 compress for all operations;

我在这个分区上也有索引。
我应该在压缩后重新创建索引,还是没有必要?

oracle index
  • 2 个回答
  • 5337 Views
Martin Hope
Michał Herman
Asked: 2014-05-19 07:31:02 +0800 CST

InnoDB 缓冲池命中率

  • 2

如在http://cherry.world.edoors.com/COBFKUqnUdBY给出的,可以通过以下 sql 查询获得缓冲区命中率:

SELECT round ((P2.variable_value / P1.variable_value),4), 
P2.variable_value, P1.variable_value
FROM information_schema.GLOBAL_STATUS P1,
information_schema.GLOBAL_STATUS P2
WHERE P1. variable_name = 'innodb_buffer_pool_read_requests'
AND P2. variable_name = 'innodb_buffer_pool_reads'; 

问题

  • 该查询给出的缓冲区命中率是从什么时期开始的?从数据库引擎启动到现在?
  • 是否有可能从给定的时间段获得缓冲区命中率?(例如:最后 10 分钟)
mysql innodb
  • 1 个回答
  • 7477 Views
Martin Hope
Michał Herman
Asked: 2014-03-31 00:55:36 +0800 CST

MySQL 查询缓存 - 使用什么类型的队列?

  • 0

我想知道 MySQL 查询缓存使用的是什么类型的队列。
当有新查询且缓存已满时,删除哪个查询?最老的?一个点击次数少的?或者这背后可能有一些不同的逻辑?

我试图在文档中找到一些东西,但没有成功。

mysql optimization
  • 1 个回答
  • 182 Views
Martin Hope
Michał Herman
Asked: 2013-10-14 04:04:26 +0800 CST

MySQL 集群 - 从 NDB 得到错误 1601 'Out extents, tablespace full'

  • 2

我正在尝试对 MySQL Cluster 进行一些测试。
我正在使用以下命令创建我的数据库:

CREATE DATABASE test1;
use test1;
CREATE LOGFILE GROUP lg1
ADD UNDOFILE 'undofile.dat'
ENGINE = NDB;
CREATE TABLESPACE ts1
ADD DATAFILE 'datafile.dat'
USE LOGFILE GROUP lg1
ENGINE = NDB;
CREATE TABLE `dane` (
  `id` int(11) NOT NULL,
  `data` blob NOT NULL,
  PRIMARY KEY (`id`)
)
TABLESPACE ts1 STORAGE DISK
engine=ndb;

然后我用一些数据和每个 50KB 的随机 blob 填充表。但我收到以下错误:

mysql> INSERT INTO dane(id, data) VALUES(3790, randomBlob(51200));
ERROR 1114 (HY000): The table 'dane' is full
mysql> show warnings;
+---------+------+--------------------------------------------------------+
| Level   | Code | Message                                                |
+---------+------+--------------------------------------------------------+
| Warning | 1296 | Got error 1601 'Out extents, tablespace full' from NDB |
| Error   | 1114 | The table 'dane' is full                               |
+---------+------+--------------------------------------------------------+
2 rows in set (0,00 sec)

mysql> select count(*) from dane;
+----------+
| count(*) |
+----------+
|     2507 |
+----------+
1 row in set (0,03 sec)

这不是集群内存使用问题:

ndb_mgm> ALL REPORT MEMORYUSAGE
Connected to Management Server at: localhost:1186
Node 3: Data usage is 6%(164 32K pages of total 2560)
Node 3: Index usage is 7%(178 8K pages of total 2432)

2500*50KB ~= 1GB
每当我尝试插入超过 1GB 的 blob 时都会出现此错误。
如何扩展此表空间的大小?

mysql mysql-cluster
  • 2 个回答
  • 1999 Views
Martin Hope
Michał Herman
Asked: 2013-09-25 03:46:10 +0800 CST

MySQL 集群表大小的近似值

  • 0

我想为 MySQL 集群做一些表大小的近似值。
请阅读我的推理并告诉我,如果我是对的或者我在某处犯了错误。

我有一个带有 PK (int) 和附加列 (int) 的简单表。在 MySQL 中 int = 4 字节,所以一行大约 12 个字节(列 4*2,PK 索引 4)。
例如,如果我有 1'000'000 行,这将是 12'000'000 字节 ~= 11.5MB。
我的计算是否正确?我可以用这么小的空间存放这样的桌子吗?

mysql mysql-cluster
  • 1 个回答
  • 431 Views
Martin Hope
Michał Herman
Asked: 2013-08-18 23:59:59 +0800 CST

MySQL Cluster - 奇怪的语法错误

  • 0

我有 MySQL Cluster 实例,并希望将一列 (BLOB) 存储在磁盘而不是内存中。
我尝试按照本教程进行操作:http: //mikaelronstrom.blogspot.com/2006/02/how-to-define-table-that-uses-disk.html
这是我得到的输出:

mysql> CREATE DATABASE test1;
Query OK, 1 row affected (0.00 sec)
mysql> use test1;
Database changed
CREATE LOGFILE GROUP lg1
    -> ADD UNDOFILE 'undofile.dat'
    -> INITIAL_SIZE 16M
    -> UNDO_BUFFER_SIZE = 1M
    -> ENGINE = NDB;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '16M
UNDO_BUFFER_SIZE = 1M
ENGINE = NDB' at line 3

以下是此命令的语法:http
://dev.mysql.com/doc/refman/5.5/en/create-logfile-group.html 知道为什么这不起作用吗?我找不到违反此命令语法的地方。

mysql mysql-cluster
  • 1 个回答
  • 187 Views
Martin Hope
Michał Herman
Asked: 2013-03-31 02:06:18 +0800 CST

用于教育用途的 MySql 集群

  • 0

我是一名学生,正在撰写有关内存数据库的理学硕士论文。我想在我的工作中使用 MySql Cluster 作为基准测试。
我可以免费使用 MySql Cluster 用于教育目的还是需要付费?

mysql-cluster license
  • 1 个回答
  • 112 Views
Martin Hope
Michał Herman
Asked: 2013-02-12 06:11:07 +0800 CST

从 MySQL 查询行集的有效方法

  • 2

我正在使用 MySQL 数据库引擎。我的 Java 应用程序使用简单的 JDBC 从数据库中检索数据。
我有以下数据库模式:有两列的主表:(INTEGER id,BLOB 数据)。id 是主键。
从用户操作中,我设置了几个我想要获取数据的 id(x,y,...所有整数)。
构建查询最有效的方法是什么?如果我使用,是否有任何性能差异

SELECT data FROM table WHERE id IN (x, y, ...)

或者

SELECT data FROM table WHERE id = x OR id = y OR ...

或者也许还有另一种方法来构建该查询?

mysql performance
  • 2 个回答
  • 771 Views
Martin Hope
Michał Herman
Asked: 2013-01-30 01:43:02 +0800 CST

MySQL Cluster - 磁盘上的分区

  • 0

我对 MySQL Cluster 有疑问:
数据库是否可以大于 RAM 的数量?(不是所有的集群数据都在内存中,但一些数据将驻留在集群节点的硬盘上)
特别是,是否可以指向 MySQL 集群,哪些分区不必在内存中并且可以存储在磁盘上。(在内存不足的情况下)。

我只是问,如果这样的解决方案可以用 MySQL Cluster 实现。

mysql partitioning
  • 2 个回答
  • 439 Views
Martin Hope
Michał Herman
Asked: 2013-01-23 23:37:53 +0800 CST

Oracle 和 TimesTen - 你能绑定它吗?

  • 1

我有一些问题,我想知道我的 MSc 研究。

让我们考虑以下情况:
我有两个小表 A 和 B。
还有两个大表 C 和 D。
我想将 A 和 B 放在 TimesTen 中,将 C 和 D(因为它们太大)放在标准 Oracle 数据库中。
我能否以这种方式配置系统,即对 A 和 B 的查询将是仅 RAM 查询,而对 C 和 D 的查询将是标准数据库查询?
我希望这对用户透明:用户进行查询但不知道他是在查询 TimesTen 还是标准 Oracle。
如果以上是可能的:那么用户加入 A 和 C 的查询呢?A 是从内存中读取还是从磁盘中读取?

我不需要知道该怎么做。只有在可能的情况下。

oracle
  • 1 个回答
  • 112 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve