Recently, ASE engineers again managed to deliver a bunch of pretty useful new ASE features and enhancements. This fits a trend: when looking back a year or so, as part of SAP, ASE has definitely become a better general-purpose RDBMS. You'll probably remember that ASE 15.7 was released in September 2011 with features like data compression, a new kernel for threaded CPUs, new LOB (text/image) features, query performance enhancements, and much more. That was a great step forward, and at the time we said much more was coming. So, fast forward: a few weeks ago (early August 2012), ASE 15.7 ESD2 was released. Despite being an ESD, this ASE release actually contains a truckload of great new features as well. You should really check these out since some of these are just so useful... Let me just highlight a selected few that I like particularly (I hope to come back to some of these topics in the time ahead).
create database MyDB (...) with async_init
This means that the creation process returns control more quickly, allowing you to start using the new database. The new aspect here is that, at that point, the database has not been completely initialized yet, but it is online and accessible. While you start using the database to create tables and load data, the initialization process continues transparently under the covers. How can you not like that? alter table MyTable merge partitions (...)
and alter table MyTable split partition (...)
). These have been on many people's wish lists for a while.reorg rebuild
command. reorg rebuild MyTable
rebuilds the entire table (and all its indexes), but access to the table is blocked while the rebuild operation is in progress. With the new syntax reorg rebuild MyTable with online
, ASE will rebuild the table too, but users can still select, insert, update and delete on the table while the rebuild operation is in progress. This is a great step forward for system availability and I'm sure many ASE users will like this (NB: create index
in online mode is not yet available, but it's in the works). update index statistics MyTable with hashing
(some syntax variations exist). with consumers
clause, the index can now be created in parallel. Technically, this was already the case before 15.7 ESD2, but the parallelism has now been greatly improved, leading to shorter index creation times. (note that some configuration steps are needed to make this work best)streamlined dynamic SQL
, even if you don't use any dynamic SQL. This parameter is the master switch for a wide range of internal query processing optimizations that everyone will benefit from. create materialized view mv1 (...) as select * from MyTable, YourTable where (etc.)
and then use the MV in a query just as any other table. There are various options, for example for the refresh mode of the MV (not discussed here). Note that the ASE documentation refers to MVs as "Pre-computed Result Sets" (the syntax create precomputed result set
is identical to create materialized view
).sa_role
were too broad -- so you can now grant permission for each type of DBA operation individually. For example, you can create a user with permission to run the shutdown
command, but no other things that sa_role
allows you to do. This feature is known as "granular permissions". Another new feature is "predicated privileges" which lets you control access on data row level. This is similar in concept to the "access rules" or "fine-grain access control" that were introduced in ASE 12.5, but the new predicated privileges are more powerful, flexible and easier to use. Let me end here for now, even though the list of new stuff in 15.7 ESD2 is not complete. As you can see, there's something for everyone in 15.7 ESD2, and we're delivering functionality that's been on many people's wish-lists (including mine) for quite some time. No doubt, you have a particular favorite feature that's not yet there, but we're working on that, too (and that's hardly meant as a joke). Stay tuned!