问题列表 - 第13页

SQL*Plus 命令末尾的分号有什么意义?

一些语句,如 create table、insert into 等,在末尾使用分号:

CREATE TABLE employees_demo
    ( employee_id    NUMBER(6)
    , first_name     VARCHAR2(20)
    , last_name      VARCHAR2(25) 
         CONSTRAINT emp_last_name_nn_demo NOT NULL
    ) ;
Run Code Online (Sandbox Code Playgroud)

而其他人喜欢

set echo on
connect system/manager
Run Code Online (Sandbox Code Playgroud)

也不要分号。

这背后的原因是什么?我如何决定自己在哪里放分号,在哪里不放?

oracle oracle-11g-r2 sqlplus

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

为什么 Oracle 数据库需要 SYSTEM 和 SYSAUX 表空间?

引用有关逻辑存储结构的 Oracle 文档:

数据库必须具有 SYSTEM 和 SYSAUX 表空间:

替代文字

为什么必须拥有这些表空间?

oracle

8
推荐指数
1
解决办法
5590
查看次数

即使我们更改了密码,数据库如何使用 SYS 模式?

来自线程Oracle 数据库中的 sys 和 system 帐户有什么区别?,我知道sys模式应该只由数据库使用。

但是管理员仍然可以更改模式的密码。

没有密码可以连接数据库吗?如果没有,即使更改了密码,它如何连接?

oracle oracle-11g-r2

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

Oracle DUAL 表如何工作?

SQL> desc dual
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 DUMMY                                              VARCHAR2(1)

SQL> select 4*5 from dual;

       4*5
----------
        20

SQL>
Run Code Online (Sandbox Code Playgroud)

我觉得真的很奇怪。如果dual中没有名为4*5的列,select语句是如何工作的?

另外,为什么我在创建自己的双表时看不到相同的行为?

SQL> create table dual2(dummy varchar2(1)); 

Table created.

SQL> desc dual2
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 DUMMY                                              VARCHAR2(1)

SQL> select 4*5 from dual2;

no rows selected

SQL> 
Run Code Online (Sandbox Code Playgroud)

oracle

33
推荐指数
6
解决办法
6万
查看次数

如何在不离线数小时的情况下将 66,862,521 行表从 MyISAM 转换为 InnoDB?

是否有可能(以及如何)将巨大的 MyISAM 表转换为 InnoDB,而无需使应用程序脱机。它需要每秒向该表中插入几行,但可以将其挂起约 2 分钟。

显然 ALTER TABLE ... engine=innodb 将不起作用。因此,我计划使用 innodb 引擎创建一个新表并将内容复制到其中。最后,暂停应用程序日志线程和重命名表。

不幸的是,即使以 100 行的小批量复制在一段时间后也会产生明显的延迟。

编辑:永远不会更改现有行,此表用于记录。

mysql innodb

18
推荐指数
3
解决办法
1658
查看次数

有没有人在实践中使用过 sqlcmd 模式?

SQLServer 2005 引入了称为SQLCMD 模式 msdn 链接的东西 。

乍一看,这种模式从命令行批处理文件中添加了变量替换,还有一些转义到操作系统命令。

此功能是否在您的环境、生产或测试中使用?

sql-server-2005 ssms sqlcmd

12
推荐指数
1
解决办法
1039
查看次数

兼职 DBA 有哪些学习资源?

幸运的是,这对我来说不是当前的问题,因为在我目前的工作场所,团队中的 DBA 知识非常丰富。然而,在小型开发团队中,根据我的经验,其中一个团队被提名为事实上的 DBA 并不少见。对于一个小团队来说,全职 DBA 几乎没有足够的工作(和/或有 DBA,但生产 DBA 不想参与支持开发/测试环境),因此需要测试员或程序员担任这个角色,我看到人们突然想到“嘿,乔要走了,所以你现在是我们的新 DBA。不,我们没有培训预算,你必须自学。玩得开心! ”

对于突然发现自己必须跟上开发 DBA 角色的人,您可以推荐哪些资源?他们应该首先解决哪些基本任务,只是为了让事情顺利进行?

learning

7
推荐指数
4
解决办法
457
查看次数

筛选索引是否有助于改进基于输入时间的查询,还是应该避免这种情况?

我只是在了解 MS SQL 2008 中新的过滤索引,我试图了解它们会在哪些方面造成伤害以及它们会在哪些方面有所帮助。

我可以看到向员工表添加过滤索引以仅索引当前员工将是一个好主意。

但是根据时间将几个过滤索引应用到一个大表呢?例如,假设我有一个表,它有一个 enterOn 日期/时间字段,并且该表有很多年的数据。如果查询通常是基于日期和其他一些字段(例如 enterby )完成的,那么是否有一些过滤索引具有将索引限制到时间跨度的 where 子句?在我的示例中,查询类似于

select enteredOn, Description, ...
from myTable
where enteredOn > '2011/01/01' and enteredBy = "My, User"
Run Code Online (Sandbox Code Playgroud)

每年都有一个过滤索引是合理的,还是在查询以下内容时会导致很多问题?

select enteredOn, Description, ...
from myTable
where enteredOn > '2009/06/01' and eneteredOn < '2010/06/01' and enteredBy = "My, User"
Run Code Online (Sandbox Code Playgroud)

index sql-server-2008 database-design

6
推荐指数
1
解决办法
511
查看次数

生成大型测试数据集的工具

很多时候,当试图提出一个高效的数据库设计时,最好的做法是建立两个示例数据库,用数据填充它们,然后对它们运行一些查询,看看哪个性能更好。

是否有一种工具可以相对快速地生成(最好直接进入数据库)大型(约 10,000 条记录)测试数据集?我正在寻找至少适用于 MySQL 的东西。

mysql performance tools performance-testing

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

重复列以加快查询速度?

标题没有太大意义,但我想不出更好的标题来解决这个问题。

我有以下表格

项目

  • ID
  • 姓名

顾客

  • ID
  • id_project
  • 姓名

付款

  • ID
  • id_customer
  • 日期
  • 和

当用户进入系统时,他将有权访问某个项目。现在,我想列出该项目的所有付款,这应该很容易:

SELECT FROM payments where id_customer in (SELECT id from customers where id_project = 5)
Run Code Online (Sandbox Code Playgroud)

我的问题是:如果以这种方式向支付表添加一列 id_project 不是更好,那么查询会更容易和更快。

normalization database-design

34
推荐指数
3
解决办法
8702
查看次数