« first day (1302 days earlier)      last day (3565 days later) » 
10:00 - 21:0021:00 - 23:00

9:04 PM
Filtered index X cannot be created on table Y because the filter expression contains a comparison with a literal NULL value. Rewrite the comparison to use the IS [NOT] NULL comparison operator to test for NULL values
So much for making an index that does nothing
 
That's what you get for trying to do something that amounts to nothing.
 
Which is more than I usually try to do
 
@MaxVernon Why would one ever scan an index on a UUID?
 
@PaulWhite good question. I'm just thinking it might happen depending on what they are using the UID for. There is very little detail in the question, so I'm trying to not assume too much.
 
@MaxVernon I just cannot imagine any scenario in which that index would be used for anything except point lookups. Also, UUID uniqueness always needs to be enforced. The current index is non-unique.
 
9:12 PM
If he is truly only ever returning a single row for a given query, then clearly there would be no range scan.
 
Exactly. Though in fact a range scan would start because the index is not unique.
 
I guess I mean a scan of the entire table. Either way, with that data on a single disk he has bigger issues I think.
 
@MaxVernon A scan of the entire table would not be affected by a fragmented nonclustered index.
The biggest benefit I see from a change to sequential is a smaller index (fill factor can go to 100%).
 
Perhaps the UID field is used to describe some field data gathering equipment, and he wants to return results for all pieces of equipment that exist in a certain set. I don't know, I'm likely stretching it a bit.
@PaulWhite if the IO engine has to read the entire index into memory, and it is physically fragmented on disk, then surely seek time on disk will come into play much more than it would for an unfragmented index, no?
And I guess as long as the machine has tons of RAM, and can keep the index in memory, then it won't matter at all.
 
@MaxVernon The idea of replacing NEWID with NEWSEQUENTIALID means a unique value per row. It just needs to be enforced.
@MaxVernon Fragmentation affects read-ahead, if that's what you mean, but my point is this index will never be scanned (except for a rebuild).
 
9:19 PM
@PaulWhite the new values would be unique from that point on, but surely there might be UID generated that already existed in the table prior to changing to NEWSEQUENTIALID(), no?
 
@MaxVernon The chances of a collision are vanishingly small. But still, that's another reason the index should be enforced as unique.
 
@billinkc around?
 
Si
Trying to resist making useless comments while the grownups talk about uid uniqueness
 
@PaulWhite I certainly don't mean to argue or belabor the point Paul - I clearly defer to your experience. And I agree a UID is supposed to be universally unique, by design.
 
is there a way in SSIS to retrieve a file (csv/xml) from an email attachment to then load into a DB?
 
9:22 PM
@MaxVernon We're not arguing. We are discussing :)
 
@billinkc We need to do lunch at Korma
 
@bluefeet Yes, will require .net code to talk to exchange
 
@billinkc so a script task?
 
@mmarie Family is heading out to Wyoming for a week or so. Younger boy made me promise not to eat there without him
It was cute, but he's mad to think I can go that long
 
@MaxVernon There are certainly use cases where a uniqueidentifier column would contain duplicates (e.g. as a foreign key) but these cases would not be suitable for NEWSEQUENTIALID, by definition.
 
9:23 PM
@bluefeet Yes, trying to find a not-bad example. Did it in a former life
 
@billinkc ok, thx
 
@billinkc Friday?
 
@bluefeet I'm not sure whether the exchange web services api would be a standard library. stackoverflow.com/questions/13725774/…
 
@PaulWhite what advice would you give him? I was leaning towards not changing the field simply because it would involve a fair amount of work to implement, with little perceived benefit. I posted my answer mainly because he is dealing with a single disk, and I like to have data non-fragmented in that scenario.
if it was me, I think I would fry the much bigger fish first. Like getting it on an SSD for instance.
 
@billinkc ok cool. We may need to implement something soon but I wasn't sure if we could grab an attachment or save it off somewhere first to import
 
9:28 PM
@MaxVernon I don't think there's much in it either way for the situation he describes. As I mentioned, the biggest 'pro' from my point of view is being able to change the fill factor to 100% so the index would be smaller, and maintenance would be unnecessary. Whether that's worth the effort is his decision.
If he had a very high rate of inserts, the discussion could be very different.
 
@PaulWhite agreed. What's your thoughts on his 80% fill factor? Seems kind of random to me, just wondering if anyone has ever looked at the statistics for that for NEWID() columns.
Why not 85% or 95% or maybe 50%?
 
@MaxVernon Ideally he would be monitoring page fullness over time and doing maintenance only when necessary. 20% free space for random insert points is a fairly common guesstimate.
 
Apart from the obvious one of 50% meaning you'd need to read twice the number of pages from disk.
@PaulWhite is there a dmv for page-fullness? I should look I suppose :-)
 
Again, ideally, his monitoring would lead to tweaks in fill factor until he hits the sweet spot where the index becomes evenly full just when index maintenance was due to start.
 
every time I chat on here, I realize just how little I really know, and how big a world this really is.
 
9:32 PM
In reality, 80% was probably a guess and his maintenance does a full rebuild every night :)
sigh
 
@PaulWhite no doubt.
 
I reindex, then reorganize my indexes every night for optimal perfomants. I then shrink the database down so my san admin doesn't yell. My question: why mssql performants so bad?
 
@MaxVernon He (along with 95% of DBAs) would probably benefit from watching Paul Randal talk about fragmentation
3
 
@PaulWhite - I just linked to this chat in a comment on my answer...
@PaulWhite I'm going to go to PASS next year if it kills me.
 
Well it is good, but I'm not sure death is a price worth paying :)
@MaxVernon Wouldn't it be better to work any points you found persuasive into your answer instead? From a future-viewers point of view, if nothing else?
@billinkc Because SQL Server is not web scale.
 
9:38 PM
@PaulWhite d'oh. I guess.
Unfortunately, I have to step out -> will update my answer tomorrow
 
If a view has WITH(nolock) hints and then queries against the view also have nolock hints, why do we even bother...
 
10:01 PM
@bluefeet still around?
Reckon this belongs on SO or dba?
0
Q: How do I Install Sybase ADO.net provider in VS 2013 and set up a DB First Project?

NoelI am trying to set up a Database first project using the Sybase ADO.Net provider in VS 2013. The first step would be registering the ADO.Net Provider, but haven't had any luck. I have ASE 15.7 installed, and have tried to register the provider via the commandline: AseGacUtility4 -i Sybase.AdoN...

0
Q: How do I Install Sybase ADO.net provider in VS 2013

NoelPlease let me know if this is the wrong forum for this question, but got very little traffic on Stack Overflow. I am trying to use the Visual Studio Server Explorer to connect to a Sybase Database using the ASE provider. The first step would be registering the ADO.Net Provider, but haven't had a...

You choose one and I'll close or merge ;-)
 
10:00 - 21:0021:00 - 23:00

« first day (1302 days earlier)      last day (3565 days later) »