SQL

PostgreSQL的预处理语句在重复执行后会变慢,因为最优执行计划会发生变化

我在调试一个在使用针对PostgreSQL 15的预处理语句的应用中的性能回归。 我的表的数据分布极不均衡: CREATE TABLE invoice_events ( id BIGSERIAL PRIMARY KEY, account_id BIGINT NOT NULL, event_type SMALLINT NOT NULL, created_at TIMESTAMPTZ NOT NULL, amount NUMERIC(12,2) NOT NULL ); CREATE INDEX idx_inv

计算来自另一张表、在指定分组中至少有一条记录的ID的百分比

我在一个SQL Server 2019数据库中有三张表。一个 Users 表,存放用户ID列表;一个 WebApps 表,存放应用程序列表;还有 WepAppAuditLogs,记录用户何时访问某个特定Web应用的日志。 我想计算每个应用至少被访问过一次的用户所占的百分比。 示例数据: 用户ID 姓名 1 Madeline 2 Theo 3 Granny 4 Oshiro 应用ID 应用名称 1 User Management 2 Analytics 3 Security 访问日志ID 用户ID 应用ID

在PostgreSQL 18中,当 `pgoutput` 跳过空事务时,在没有心跳表的情况下推进 `confirmed_flush_lsn`

升级到PostgreSQL 18之后,pgoutput 不再为仅涉及出版物之外表的事务发送 BEGIN/COMMIT。这是设计使然(参见相关问题)。我们的复制槽的 confirmed_flush_lsn 在大量这类“空交易”负载下不会推进。 我们使用一个自定义的Spring Boot消费者,通过 PGReplicationStream(pgoutput,proto_version=4)从逻辑复制槽读取。只有在收到并处理来自流的消息时,确认的LSN才会推进。 我们已经尝试/排除了以下情况: 心跳表(出版物之

在Diesel中为带字段的PostgreSQL复合类型实现ToSql和 FromSql

所以我在Postgres中有一个 "user" 复合类型: CREATE TYPE "user" AS ( username varchar(20), password text ); 在一个表中曾经有一个字段 CREATE TABLE foo ( ... users "user"[] NOT NULL, ... ); 为 user 类型的Diesel模式是: pub mod sql_types { #[derive(diesel::query_builder::QueryId, Clone, diese

是否可以通过JDBC调用Oracle的包来创建表?

我正在把一个数据库创建过程从SQL*Plus迁移到JDBC。我需要运行一批与Oracle包相关联的进程。 BEGIN ddl.column('table_name', 'column_name', 'type') END 我也尝试了使用以下方式运行: String sql = "{}"; CallableStatement statement = connection.prepareCall(sql); statement.executeUpdate(); statement.close(); 我还尝试将

如何在Spark中修复因类型转换导致的无效输入错误?

我在Databricks中尝试创建并显示一个Spark DataFrame。这是我的代码的样子: df = spark.sql(f''' SELECT A.CUSTOMER_ID FROM TABLE_1 A INNER JOIN TABLE_2 B ON A.PRODUCT_ID = B.PRODUCT_ID WHERE A.ORDER_DATE BETWEEN DATE_SUB(CURRENT_DATE, 182) AND CURRENT_DATE AND A.CUSTOMER_ID IS NOT N

来自某个SELECT语句的重复数据

我正在用PostgreSQL创建一个根据用户姓名来查询数据的函数,但当参数中没有传入姓名时,它应该返回所有预约,且不受姓名影响;然而我却得到了重复的数据。因为只有John Doe与之相关的预约存在,这个Ian F不应该出现在结果中。 姓名 时长 预约时间 John Doe 50 2026-03-24 10:00:00 Ian F 50 2026-03-24 10:00:00 正如你所见,数据被重复了,因为Ian F没有任何预约,他只是复制了John Doe的数据。由于我不知道在PostgreSQL中如何调

SQL数据表的XML格式

我需要构建以下XML数据结构。我已经得到了所需的XML结构,但缺少student标签。 123 abc xyx 我写了以下SQL查询: SELECT id, name,

更新级联在子表中未生效

我有一个父表,其创建语句如下: Create Table "GL_Cash_Book" ( "y_trans_code" Integer Not Null, "trans_date" Integer Default current_timestamp, "receipt_no" Text, "amount_dr" Real, Primary Key("y_trans_code") ) 我已经把它与一个子表连接起来,创建语句如下: Create Table "GL_income_account" ( "tr

无法从 "Python in Excel" 读取SQLite表

我想在Excel中显示一个本地SQLite表的内容。出于各种原因,我想在Excel中使用“Python in Excel”。这是我在单元格A1中使用PY() 公式编写的代码: import pandas as pd import sqlite3 my_db = f'C:\\Users\\benpr\\mu_code\\nbssh.db' conn = sqlite3.connect(my_db) my_query = f'select * from results' df = pd.read_sql_qu