anujkumar.mca - Tuesday, December 26, 2017 6:57 AM
To be honest, I think this is a plan for doing things more slowly unless you can guarantee that 5 different spindles (1 for each table) will come into play. "Going Parallel" is NOT a panacea for performance. You do have to consider the capacity of the "pipe" and what you're going to do to the read/write heads on the disk(s) involved.
As for your question, you could build a "maintenance job" that would call all 5 pieces of code in parallel or you could do the same by calling xp_CmdShell to call SQLCMD 5 times using the DOS "START" command. I still think it's going to be a mistake performance wise unless the tables really are on 5 different sets of spindles.
As a bit of a sidebar, if you've not carefully planned for the correct FILL FACTOR for each of these indexes, then the rebuilds could put a world of hurt on your system in the form of massive page splits. Personally, I don't rebuild indexes on a general basis anymore (and haven't since 17 Jan 2016). The only table that I have rebuilt the indexes on in those two years is one that suffers from regular deletes that don't free up entire pages for reuse.
--Jeff Moden
Change is inevitable... Change for the better is not.