小编Han*_*non的帖子

CREATE TABLE TEXTIMAGE_ON [PRIMARY] 是多余的,因为只有一个文件组?

我最近为旧数据库生成了脚本,发现大多数表都是用 . 创建的TEXTIMAGE_ON [PRIMARY],但只有一个文件组。

TEXTIMAGE_ON [PRIMARY] 当只有一个文件组时是多余的,对吗?

filegroups

10
推荐指数
1
解决办法
1万
查看次数

使用多个数据库?

在 Linux 上使用 sqlite3,如何处理多个数据库?

我想在数据库 1 中执行以下操作?

sqlite3 database1.db
insert into database1.mytable values (select * from database2.mytable) 
Run Code Online (Sandbox Code Playgroud)

我如何编写SELECT上面的 database2 查询?

sqlite

10
推荐指数
1
解决办法
1万
查看次数

Visio 2010 和 SQL 2012 - 逆向工程

我们已升级到 SQL 2012 并尝试将我们的 Dbs 反向工程到 Visio 2010。我使用 SQL 11 驱动程序设置了连接,而 Visio 抱怨不支持该驱动程序。

有人遇到过这个吗?

database-design sql-server sql-server-2012 visio

10
推荐指数
2
解决办法
2万
查看次数

如何配置 MySQL Innodb 以每小时处理 1000 次插入?

我有一个流量非常高的网站,每小时可能会插入 1000 条新记录。

这一错误使网站瘫痪:

PDOException: SQLSTATE[40001]: Serialization failure: 1213 
Deadlock found when trying to get lock; 
try restarting transaction: INSERT INTO {location_instance} 
(nid, vid, uid, genid, lid) VALUES (:db_insert_placeholder_0, 
:db_insert_placeholder_1, :db_insert_placeholder_2, 
:db_insert_placeholder_3, :db_insert_placeholder_4); 
Array ( [:db_insert_placeholder_0] => 1059 [:db_insert_placeholder_1] => 
1059 [:db_insert_placeholder_2] => 0 [:db_insert_placeholder_3] => 
cck:field_item_location:1059 [:db_insert_placeholder_4] => 1000 )
Run Code Online (Sandbox Code Playgroud)

如果 MySQL 无法处理这种类型的负载,我会感到非常惊讶。那么,我的问题是,这是一个数据库问题,我该如何配置 MySQL 才能处理这么多流量?

我在开发服务器上设置了我的网站副本,其中包含模拟添加到网站的内容负载的脚本。我正在运行带有 16GB RAM 的 Ubuntu、LAMP 堆栈。

诚然,我对数据库不是很了解。事实上,我从“apt-get install”完成后随附的默认 my.cnf 开始。表都是Innodb。你会推荐什么起始配置设置和方法来开始解决这个问题?

让我知道您可能需要更多信息。

谢谢

mysql innodb performance deadlock insert

10
推荐指数
2
解决办法
2万
查看次数

事件数据库的关系数据库与非关系数据库

我试图找出 SQL 或非 SQL 解决方案是否更适合创建事件数据库。我正在创建一个票务系统,类似于票务主。我知道对于任何一种数据库类型的存储都是简单的部分。决定因素是以下查询的性能:

  • 在特定日期范围内按位置选择事件。
  • 选择给定位置(城市、城镇等)的所有事件,按日期排序。
  • 在特定日期范围内、特定位置内按关键字搜索事件。

事件基本上有 ID、NAME、LOCATION、VENUE、START DATE、END DATE

在关系模式中,我会有一个 EVENTS 表,一个用于单独存储日期的 DATES 表,因为事件可以发生在多个日期并且它们是可重复的,以及一个 VENUES 表,可以从中获取事件位置(国家、城市等)交叉引用。

我没有使用 no-SQL 数据库的经验,因此如果您投票支持 no-SQL,请建议您如何看待“架构”的组织方式以及哪个特定的数据库。

我希望这个问题足够具体。查询性能是决定性因素。

经过进一步考虑,我意识到这个问题更适合提炼出日期/时间函数的可用性,这些函数可以促进快速日期范围查询。我知道 MySQL 和 PostgreSQL 有这样的功能。在这一点上,PostgreSQL 在语法方面甚至看起来更好一些。我不知道 NoSQL 解决方案必须为此提供什么。

我知道系统当然可以在关系数据库中轻松建模。我也知道每个 no-sql 解决方案都是不同的。我想知道是否有人对特定的 no-sql 数据库有任何特定知识,可以引用为什么该特定数据库对解决方案有好处。

nosql mongodb database-design database-recommendation

10
推荐指数
2
解决办法
4295
查看次数

执行计划从何而来?

有没有办法可以确定计划是为特定查询生成的,还是在计划缓存中找到的?

sql-server execution-plan sql-server-2008-r2 cache

10
推荐指数
1
解决办法
576
查看次数

用空格替换列中的特殊字符

我正在尝试编写一个用空格替换特殊字符的查询。下面的代码有助于识别行。(字母数字字符、逗号和空格有效):

SELECT columnA
FROM tableA
WHERE columnA like '%[^a-Z0-9, ]%'
Run Code Online (Sandbox Code Playgroud)

如何将替换函数集成到 select 语句中,以便结果集中除字母数字、逗号和空格之外的所有字符都替换为 ' '(空格)。这个不行:

SELECT replace(columnA,'%[^a-Z0-9, ]%',' ')
FROM tableA
WHERE columnA like '%[^a-Z0-9, ]%'
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql sql-server-2008-r2 replace

10
推荐指数
2
解决办法
11万
查看次数

大型删除查询似乎已冻结

我们在一个有 18 亿行的数据库上运行了一个删除查询。这次删除将删除 12 亿行。

事后看来,我们会一次将这个查询分解为 100m,但现在它已经运行了 24 小时,并且日志文件的大小为 2Tb,这似乎是日志文件所允许的最大大小。

数据库处于简单恢复模式。

有没有保存这个查询?还是我们只需要重新启动 SQL Server 看看会发生什么?数据库会无法使用吗?我们可以做些什么来尽可能干净地消除它?

sql-server delete sql-server-2008-r2

10
推荐指数
2
解决办法
7816
查看次数

永久分离数据库

如果数据库与实例永久分离,是否应该完成任何清理任务?

sql-server maintenance sql-server-2014

10
推荐指数
2
解决办法
1470
查看次数

获取连接表中聚合值的增量计数

我在 MySQL 5.7.22 数据库中有两个表:postsreasons. 每个帖子行都有并属于许多原因行。每个原因都有一个与之相关的权重,因此每个帖子都有一个与之相关的聚合权重。

对于每增加 10 个权重点(即 0、10、20、30 等),我想获得总权重小于或等于该增量的帖子数。我希望结果看起来像这样:

 weight | post_count
--------+------------
      0 | 0
     10 | 5
     20 | 12
     30 | 18
    ... | ...
    280 | 20918
    290 | 21102
    ... | ...
   1250 | 118005
   1260 | 118039
   1270 | 118040
Run Code Online (Sandbox Code Playgroud)

总权重近似正态分布,有一些非常低的值和一些非常高的值(目前最大值为 1277),但大多数在中间。中有不到 120,000 行posts,大约有 120行reasons。每个帖子平均有 5 到 6 个理由。

表的相关部分如下所示:

CREATE TABLE `posts` (
  id BIGINT PRIMARY KEY
);

CREATE TABLE `reasons` ( …
Run Code Online (Sandbox Code Playgroud)

mysql aggregate mysql-5.7

10
推荐指数
2
解决办法
546
查看次数