同义词:近义词
Selectsysdate from dual;
dual属于一张临时表,dual原属于sys用户,如果要使用dual就应该使用sys.dual才对,dual为sys.dual的同义词
创建同义词:CREATE[public] SYNONYM 同义词名称 FOR 模式.表名称
将scott.emp数据表映射为semp:
create synonym sempfor scott.emp;
同义词创建完成之后就可以用同义词进行数据查询;select * from semp; 此时的同义词只能被一个用户所使用的,应该创建公共同义词,切换回sys用户,重新创建同义词
CONN sys/change_oninstall as sysdba;
DROPSYNONYM semp;
create public synonym semp for scott.emp;
同义词属于Oracle自己的概念,重要的是dual的使用
时间复杂度、空间复杂度
Oracle数据库:索引
数据的最好排列是根据树排列
树的排列原则:选取一个数据作为根节点,以此节点大的数据放在右子树,比此节点小的放在左子树
问题:选什么数据?
为scott.emp表在sal字段上创建索引
语法:create index emp_sal_ind onscott.emp(sal);
一旦索引创建完成,再进行查询不是全部数据都查询,而是查询所需要的范围的内容,索引提升查询效率的关键在于:索引树;如果sal字段都在重复改变的时候,就不行了
树的维护操作是需要时间的,如果数据小那么可以在很短的时间内进行树的生成,如果数据量大?那么话费时间巨大
如果不想重复的进行树的维护,那就必须保证数据的不可更改与唯一性,所以默认会在主键约束上自动追加一个索引。
如果想查询速度快,那么就必须使用索引
如果想更新速度快,那就不能使用索引
所以这时最好的做法是牺牲实时性