问题不在于分号。重新运行相同的查询意味着这些行已经被缓存,因此您可以更快地获取它们。
我有5年以上的MS SQL经验和4年以上的Oracle开发经验。
我知道你可能会讨厌很多Oracle的特性,尤其是在SQL方面,但是放轻松。Oracle是一个非常强大的DBMS。虽然从很多角度来看,我更喜欢MSSQL而不是Oracle,但这是另一个话题。
至于你的问题:
分号只是语句分隔符。
SQL Developer使用Java和OCI,所以你可能会遇到不同的问题(我只是猜测可能会出现一些问题)。
如果你感觉某些东西运行不正常,我建议你将查询提取出来,使用SQLPLUS而不是可视化查询工具来运行它,因为这样会给你正确的感觉。
祝你在Oracle开发中好运。
请访问SQL*Plus FAQ。
这是一本非常有帮助的书,可以极大地帮助你学习IT技术。
《SQL in a Nutshell》作者是Kevin和Daniel Kline,书中介绍了Oracle和SQL Server的语法,如果你已经掌握了t-SQL的写作方法,那么你可以轻松地了解如何将其转换为Oracle语法。
我在PowerBuilder、Java、.NET和TOAD等平台上担任Oracle开发人员超过十年了,这听起来很奇怪。
我建议使用explain plan查找问题所在,并确保数据库健康,具备适当的统计数据和索引。
我还记得在早期版本的Oracle中,使用基于规则的优化会导致这种性能问题,但是随着成本优化和统计信息的出现,这些问题已成为过去式。