I wish they would just unify Code and ADS. I have ADS, but because I am often working in Powershell/XML/JS/etc and we do a lot of code generation and I have a whole build and release process, I just use Code or Visual Studio because that's what I always used for those bits.
Do it backwards: search the substring until the hyphen from the end of the string (using the SUBSTRING_INDEX function) then TRIM the found part from the value.
If the delimiter is strictly those as shown (- hyphen with space before and after) then use this as the three-character delimiter. - Akin...
round robin still assembles rows into packets before push transfer, but demand literally pulls a row at a time
I'd need to do some analysis to work out exactly why your demo is as slow as it is. I suspect a lack of bulk operations, or insufficient buffering, but that's just guessing. Equally likely something just isn't hooked up right internally at this stage.
I generally don't worry much about perf in CTPs.
Mostly because it's so low reward. P much every time I've pointed out perf issues in past pre-release builds, I just ended up wasting some dev's time explaining how they were aware and providing some details about an enhancement that already existed in the code base, but not public yet. Not hugely constructive use of anyone's time.
Thanks for stealing my thunder! :-) Yeah, I meant to get round to the SUBSTRING_INDEX today, but difficulties (Mum is in hospital and there are issues) - but you got it wrong - slightly! The OP's data begins with a "<" also - TRIM(LEADING '<' FROM SUBSTRING_INDEX(field, '> - <')) (or something along those lines - can't test - starving, going to make myself lunch - haven't eaten since 05:30... - now 15:30) does it nicely and is a bit more elegant, n'est-ce pas?
Sure - many questions here are open to interpretation. Plus, if you read the spec, you can have all sorts of weird and wonderful stuff in an email - just that no sane person would do that! Ooops - expecting end-users to input sane values... hmmm... I always put in code in my answers when appropriate.
There's one user (I won't say who) on SO who has many points but just plops a solution down - no explanation, no nothing. Because of the huge number of answers, the shotgun approach works for them - I prefer the "teach a man to fish" approach rather than just "throwing a man a fish". It's often helpful for me also - as the only way that one can be sure that one understands a topic is if one can explain it (reasonably) simply.
I hadn't mentioned SUBSTRING_INDEX in my answer (yet) - I was going to - may get around to it!
I replied to you here - and mentioned that on further investigation, I had realised that SUBSTRING_INDEX provided a more elegant solution than the non-regex one that I had given.
I'll modify my answer tonight before I go to bed - as I said, I'm under time pressure at the minute and some things are (gasp of horror from audience...) more important than dba.se! :-)