小编Rol*_*DBA的帖子

MySQL 确定性过程

作为一般规则,如果它们确实是确定性的,我是否应该使用 DETERMINISTIC 关键字声明所有存储过程?

在我看来,大多数存储过程都是确定性的。我认为唯一的非确定性过程是调用 RAND() 或 CURDATE() 等非确定性函数的过程是否正确?

无论如何,我问的原因是因为当我在 MySQL Workbench 中使用数据恢复功能时,我收到此错误:

ERROR 1418 (HY000) at line 1209: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
Run Code Online (Sandbox Code Playgroud)

简单地设置“log_bin_trust_function_creators=1”是更好的做法吗?请记住,我有 50 多个存储过程。

mysql stored-procedures determinism

7
推荐指数
1
解决办法
6439
查看次数

数据类型为十进制的列大小

根据 SQL Server 2008 R2 的 BOL,数据类型十进制需要以下存储字节:

Precision  Storage bytes

1 - 9      =>   5

10-19      => 9

20-28      => 13

29-38      => 17
Run Code Online (Sandbox Code Playgroud)

但是,当我对格式为十进制 (19,5) 且值为 10999.99999 的列执行 datalength() 时,我得到了 5 个字节?根据我的理解,精度为 10 而不是 9,应该产生 9 个字节。

这导致两个问题:

  1. 具有此列的表的大小是否不取决于列定义,而是列中的真实值定义了表大小?

  2. 为什么 BOL 中的信息与 datalength() 返回的信息不匹配?

sql-server-2008 sql-server datatypes

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

MySQL一般查询日志性能影响

我们的一位客户的 Web 应用程序有些问题,他希望我们在 24 小时内记录所有查询。

我不知道它实际会写入多少数据。

任何 24 小时内的查询量都在 500 万左右。

我可以允许几 GB 的 ramdisk,或者挂载一个 NFS 共享位于一个未使用的 JBOD 上。

问题

  1. 如果写入日志的目的地被填满会有什么影响?

  2. 如果(专用)NFS 共享由于大量 I/O 而开始执行缓慢,是否会以任何方式(除了一般日志写入)影响 mysqld 的性能?

提前致谢,

mysql performance

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

为什么 MyISAM 支持 FULLTEXT Searching 而 InnoDB 不支持?

我知道 MyISAM 和 InnoDB 引擎之间的基本区别。在 MySQL 5.6 beta 中,InnoDB 将支持全文搜索。但是,我想知道为什么以前版本的 InnobDB 不支持 FTS?我的猜测是因为表存储格式或数据索引方式。抱歉我的无知。

mysql innodb myisam full-text-search

7
推荐指数
1
解决办法
2577
查看次数

将 MySQL/PostgreSQL 表结构可视化为图形/UML

是否有任何程序、源代码或 API 将采用 MySQL 或 PostgreSQL 模式并吐出 UML 或其他图形可视化?

mysql postgresql graph

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

MS SQL Server 中 mysql 的 --safe-updates 的等价物是什么?

在 MySQL 中,您可以使用名为--safe-updates( --i-am-a-dummy)的功能来限制每个查询更新的行数。

http://dev.mysql.com/doc/refman/5.0/en/mysql-tips.html#safe-updates

MS SQL Server 中有这样的东西吗?

mysql sql-server-2008

7
推荐指数
3
解决办法
3084
查看次数

How to Add Federated engine after installing Mysql

I have Mysql 5.5.18
and upon show engines:

show engines;
+--------------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                    | Transactions | XA   | Savepoints |
+--------------------+---------+------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                         | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |
| CSV                | YES     | …

mysql storage-engine ubuntu mysql-5.5

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

有人能解释一下为什么在 mysql 中左加入两个视图这么慢吗?

这是我昨天问的一个问题 - /sf/ask/1552650921/

我得到了一个很好的答案,对我有帮助,但我不明白为什么 LEFT JOIN 比查找慢得多。LEFT JOIN 是 16 秒 - 我很确定我的表至少优化了 90% - 在进行查找时它只有 0.14 秒。当我 LEFT JOIN 表时,它并没有那么慢,为什么要查看?

mysql join view

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

为什么 MySQL 不使用具有更高基数的索引?

我有一个source基数为 1122 的索引和一个state基数为 22 的state索引。MySQL在查询时一直使用该索引SELECT C1 FROM tbl WHERE source = 'x' and state = 'y'。这是正常的吗?如果没有,可能会出现什么问题?

mysql myisam mysql-5 index

7
推荐指数
1
解决办法
6440
查看次数

仅获取多个字段的整体汇总 WITH ROLLUP 和 GROUP BY

执行WITH ROLLUP多字段分组时,MySQL 会为每个组返回一个汇总行,以及总体摘要:

CREATE TABLE test (name VARCHAR(50), number TINYINT);
INSERT INTO test VALUES
    ('foo', 1), ('foo', 1), ('foo', 2), ('foo', 3), ('foo', 3),
    ('bar', 1), ('bar', 2), ('bar', 2), ('bar', 2), ('bar', 3),
    ('baz', 1), ('baz', 2), ('bar', 2);
SELECT name, number, COUNT(1) FROM test GROUP BY name, number WITH ROLLUP;

+------+--------+----------+
| name | number | count(1) |
+------+--------+----------+
| bar  |      1 |        1 |
| bar  |      2 |        3 |
| bar  | …
Run Code Online (Sandbox Code Playgroud)

mysql group-by

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