@CadeRoux A great while ago I put together a thing doing this using Service Broker. A table had a trigger, which put a message on a queue. Service Broker Activation fired an SP that pushed a network message to a .Net UI app, and the new value showed up on screen. It sounds a bit Heath Robinson when I write it out like that, but it worked.
Were I to try again today I may be tempted to have the trigger call a SQLCLR SP which POSTed to a URL (or whatever the target system supported).
@EvanCarroll I see it more as a leveling of the playing field. Oracle, MySQL and MSSQL have eaten up a disproportionate % of systems out there. I find it unlikely that the current trajectory will continue indefinitely.
What Evan never considers is that Oracle and SQL Server have functionality that simply cannot be bettered in the open source world. The High Availability and DR options just do not compare. Any serious business would not be able to use an open source RDBMS for some of its workloads because of this
I think the difference is also on the whole market of external providers that provide added functionality (for products like SQL Server and Oracle), due to being on the market for decades.
Phil's also right though that there's no comparison on some of the feature sets. Oracle is still a long way ahead of SQL Server in some areas. Both have an epic head start and dev resources on a scale other players can only dream of.
Plenty of space for everyone to do their own thing.
Also in general, the market space is getting bigger, not smaller. The amount of data needing storage is rising expotentially, and the number of businesses needing to use said applications are also rising
Does anyone have any decent guides on gauging MAX DOP and cost threshold settings (SQL Server)? I'm really struggling to get to a decent answer for an OLAP system I'm dealing with.
@PaulWhite My understanding is it's closer to 'true' database level load-balancing, wheras with SQL Server we have to build that into our application design
I have got a huge query to load a dataset of +- 4000 records. This query takes 400 milliseconds to execute. Is there a way to improve this query?
SELECT "a"."artikel_id", "a"."mutator", "a"."datum_mut", "a"."artikel_nr",
"a"."kode_id"
FROM "artikel" AS "a"
WHERE
("a"."actief" = 1 AND
...
@MichaelGreen Trying to be least invasive to those tables - because it's a different application team - even a trigger into a queue is going to be quite a bit to sell - that's very similar to what I would do with CDC, but it puts a a bunch of stuff in the database as well. I'm currently going for change tracking and polling the change tracking data from an agent job.
This thing also needs to install like snap on any system we upgrade to include these analytics - so just writing the installation process is a big part of the task.
@MichaelGreen The Queen, as part of the swearing in ceremony to take their seats and vote to destroy all that is holy which they actively want to undermine anyway.
In the USA getting "sworn in" used to require putting your hand on the Bible, and swearing to God. I always wondered what kind of person would refuse to simply say "i do" in that circumstance. That kind of person is Sinn Fein. But, all the more, what kind of person wouldn't bullshit that to cast the deciding vote to change the policy? That kind of person is also Sinn Fein.
Get sworn in, cast a vote of no confidence and watch the government you despise crumble. Then refuse to take a seat with the new government.
@Philᵀᴹ "Any serious business would not be able to use an open source RDBMS for some of its workloads because of this" - for what it's worth, I think there are a number of big companies using MySQL for big parts of their production workloads.
GitHub comes to mind, with their recent failover debacle.
And I think one of the big social media players also uses (or used to use) MySQL.
"primitive implementation" meaning very basic and likely not exactly what the OP wants.
It's a two-part recursive query, that runs both operations in serial. You could just as well figure out what the ancestor node is, and then run another query to get the descendants but @ypercubeᵀᴹ threw them both into the same query saving a trip to the server for the intermediary step.
Anything to suggest that this fella is talking about stored procedures and not just querying the data ad hoc. If so I was thinking of answering and explaing how the predicate in the literal will use the hisogram where as the local variable will use the calculation based on density.
I have a query that always filters on a status, is there a performance benefit of one of these ways over the other?
(This is in the context of an ad-hoc query. The datatype of UserStatus is int)
...
AND UserStatus = 1
...
or
DECLARE @userStatus int = 1
...
AND UserStatus = @userStatus
...
...
@TomV lol I'm going to just start pasting into word and mach sure things are good. I have terrible spelling and struggle constantly to spot area's where I've fat fingured keys as well.
doesn't seem to be on my end when testnig, however always good to have second review, thank you — knightbob4721 min ago
Odd this guy isn't having problems and the code seems to be working fine he's just trying to get a review. What's the rule on this kind of question? Isn't there a code review stack exchange site already?
Sure enough there is. I'll flag it and we'll see what the mods think.