小编Cra*_*lus的帖子

MySQL 和窗口函数

好像MySQL不支持窗口函数。
例如简单的:COUNT(*) OVER() AS cnt不起作用。
我不确定这是否也适用于商业版本(我认为社区版本是有限的子集)。
如果没有,如何解决这一缺失的功能?

mysql window-functions

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

tinyint(N) 是什么意思?

当我们使用数字数据类型的参数长度时,据我所知,这指定了显示宽度。
我尝试了以下方法:

mysql> create table boolean_test (var1 boolean, var2 tinyint);    
Query OK, 0 rows affected (0.10 sec)   

mysql> show create table boolean_test;   
+--------------+-------------------------   
| Table        | Create Table
+--------------+-------------------------  
| boolean_test | CREATE TABLE `boolean_test` (  
  `var1` tinyint(1) DEFAULT NULL,  
  `var2` tinyint(4) DEFAULT NULL  
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |   
+--------------+---------------------------  
1 row in set (0.00 sec)  
Run Code Online (Sandbox Code Playgroud)

首先 tinyint 是一个 1 字节的值。那么是什么意思tinyint(4)呢?不能有 4 位数字。

mysql> insert into boolean_test values(101,112);  
Query OK, 1 row affected (0.03 sec)   

mysql> select * …
Run Code Online (Sandbox Code Playgroud)

mysql datatypes mysql-5.5

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

为什么 MySQL 在强制执行此 order by 时忽略索引?

我运行一个EXPLAIN

mysql> explain select last_name from employees order by last_name;
+----+-------------+-----------+------+---------------+------+---------+------+-------+----------------+  
| id | select_type | table     | type | possible_keys | key  | key_len | ref  | rows  | Extra          |
+----+-------------+-----------+------+---------------+------+---------+------+-------+----------------+  
|  1 | SIMPLE      | employees | ALL  | NULL          | NULL | NULL    | NULL | 10031 | Using filesort |
+----+-------------+-----------+------+---------------+------+---------+------+-------+----------------+  
1 row in set (0.00 sec)  
Run Code Online (Sandbox Code Playgroud)

我表中的索引:

mysql> show index from employees;  
+-----------+------------+---------------+--------------+---------------+-----------+-------------+----------+--------+------+------------+---------+---------------+  
| Table     | Non_unique | Key_name      | Seq_in_index | …
Run Code Online (Sandbox Code Playgroud)

mysql innodb index optimization explain

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

数据库表和 NULL

我知道关于NULL数据库中的值有很多意见/方面。
我不明白什么是最好的做法。

即,如果我有一个带有可选属性的关系表,即它可以NULL取值 - 所以我们最终可以得到一个NULLs在该列上有很多的表 -最好使该属性成为一个新的关系表吗?

什么是最好的方法?

null

6
推荐指数
3
解决办法
1725
查看次数

为什么我不能在 MySQL 中更改我的连接的隔离级别?

我正在尝试在测试环境中对 MySQL 的隔离级别进行一些试验。
我执行以下操作:

mysql> set @@session.tx_isolation='READ-UNCOMMITED';
ERROR 1231 (42000): Variable 'tx_isolation' can't be set to the value of 'READ-UNCOMMITED'
Run Code Online (Sandbox Code Playgroud)

这也失败了:

mysql> update information_schema.session_variables set variable_value='READ-UNCOMMITED' where variable_name='TX_ISOLATION';
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'information_schema' 
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?我是根。所以它不应该是一个权利问题。

mysql transaction isolation-level

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

用于货币数据的数据库的标准隔离级别是什么?

当使用数据库服务器存储货币/金融数据时,我只能假设使用交易是强制性的。
但我不确定通常的隔离级别是哪个?是READ-REPEATABLE二手的吗?还是只有序列化级别?

mysql transaction isolation-level

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