Our database server runs Windows Server 2003, Enterprise Edition.
  In trying to find anything that'll let me make a virtual disk out of about a gig of memory, and determine why this machine never uses more than 4 gig of memory, I ran into this:
  tek-tips.com
  One of the folks there said you shouldn't use /3gb and /pae switches in boot.ini at the same time.
  I use both.  Always have.
  Opinions?
  I'd rather know for sure which one I should use or if it's okay (and ideal) to use both rather than going through trial and error since I don't like rebooting that box unless I absolutely must.
  Also, I've found out a little more about full-text searching.
  If I use CONTAINS() to find messages with the word "bush" in them for the current year, it takes 15 seconds to return the top 100.
  If I instead use CONTAINSTABLE(), it takes 10 seconds.
  If I use *just* the CONTAINSTABLE() and no joins and no other WHERE's, 10 seconds.  If I do all the joins and wheres, 10 seconds.  The bottleneck is not only MSSearch, it's a 50% greater bottleneck when I use CONTAINS() instead of CONTAINSTABLE().
  Interestingly, when I put my simple CONTAINSTABLE() query into a stored proc, the proc ran in 9 seconds.
  So, I'm going to have to do a pretty substantial rewrite of full-text search both here and on iHub.  iHub's search has gotten very slow since it isn't limited to years and now has nearly 5 million messages.
  Although I really have to wonder whether making "bush" a noise word and rebuilding the indexes and leaving everything else as-is might not be a better approach.  Searches on nearly any other string I can think of return results instantly, whether I use CONTAINS or CONTAINSTABLE().
  Changing to CONTAINSTABLE() would require a lot of rewriting because it goes into the FROM part of a query.  CONTAINS(), which I currently use, goes into the WHERE.
  Before I decide to make that change, I'm going to see if other things can be done to speed it along.  Like storing catalogs on a memory-based virtual drive, if I can find anything that'll let me create a virtual drive out of some of this unused memory.
  And I also want to try storing the catalogs on the webserver's hard drive and see if that's any faster, since it's a simple IDE setup instead of the db server's RAID5.
  Edit: sql-server-performance.com says we should be using both /3gb and /pae, which we are. |