资源描述:
《Oracle基本操作笔试面试题之表操作(20210410041407).docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Oracle基本操作笔试面试题之表操作创建表结构:Createtabletable_nameasselect*fromtable_name仁字段2;字段表查询:where条件Select*fromtable_name;Select*fromtable_nameSelect字段1别名1,字段2别名2,字段n别名nfromtable_name字段中可以进行代数运算,包括:+—x等函数(字countsunavgetrunkround表插入:Insert宁段1,7段2、、字段nintotable_name
2、value段值1,字段值2、、字段值n);循环插入:beginforiin1.•10loopinsertintotable_namevalues();endloop;end;表更新:Updatetable_nameset字段1where条件表删除:droptabletable_name表记录删除:deletetable_namewhere条件;truncatetabletable_name清空表记录,保留表结构表名修改:renametable_nameltotable_name2注意:表名修改后,
3、索引还在表迁移,(从一个表空间迁移到另外一个表空间)altertabletable_namemovetablespacetablespace_namenologgingparallele4;注意:将表从一个表空间迁移到另外一个表空间,必须进行索引重建,存储过程、触发器、其他程序包都需要编译,以免执行报错。例如:不同表空间:表压缩:altertabletable_namemovetablespacetablespace_namecompress;altertabletable_namemovecom
4、press:表统计信息收集execdbms_stats.gather_table_stats(ownname二〉username,tabname=>table_name,degree二>10,cascade二〉true,estimate_percent—>25);例如:execdbms_stats.gather_table_stats(ownname二〉test,tabname二〉data_tablel_namel,degree二>4,cascade二〉true,estimate_percent二
5、〉30);selecta.row2」d,sum(nvl(b.item_value,0))fromzk.name_201001a,zk.table_name_201001bwherea.so_rowl二b.so_rowlanda.row_ain(1,4,5)anda.row2_id二XXXXXXXandbook_row3_idin(NNNNNXXX1,NNNNNXXX2,NNNNNXXX3,NNNNNXXX4,NNNNNXXX5,NNNNNXXX6)groupbya.row_id;表语句执行很慢,检
6、查执行计划,zk.table_name_201001b不引用索引,做表分析、重建索引都无效,执行计划中均没有引用索引,最后强制使用索引效果明显,执行计划改变,索引引用。效果明显select/*+index(bpk_tab1e_name_201001)*/a.serv_id,sum(nvl(b.item_value,0))fromzk.name_201001a,zk.table_name_201001bwherea.so_rowl二b.so_rowlanda.busi_codein(1,4,5)an
7、da.row2_id二XXXXXXXandbook_row3_idin(NNNNNXXX1,NNNNNXXX2,NNNNNXXX3,NNNNNXXX4,NNNNNXXX5,NNNNNXXX6)groupbya.row2」d;2、分区表创建为了使大量的数据在读写操作和查询中速度更快,Oracle提供了对表和索引进行分区的技术,以改善大型应用系统的性能。使用分区的优点:A、增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;B、维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分
8、区即可;C、均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能;D、改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度Oracle数据库提供对表或索引的分区方法有三种:1>范围分区2、Hash分区儆列分区)3>列表分区4、范围一散列分区5、范围一列表分区2.1、范围分区表分区表表创建:一般都是按照时间来创建createtabletablenamerowlcharlnotnull,row2char2notnull,rownnumbernotnull