Search Results

Search found 888 results on 36 pages for 'collapse bookmarks'.

Page 19/36 | < Previous Page | 15 16 17 18 19 20 21 22 23 24 25 26  | Next Page >

  • Have You Heard About the Microsoft TechNet Wiki?

    - by KKline
    Here's another one to add to your list of browser bookmarks! The TechNet Wiki covers Microsoft technologies from writers throughout the community for use by the community. As with all wikis, this grassroots effort needs your help. Microsoft is encouraging everyone to contribute the effort - all you have to do is join. So start a whole new article, add your knowledge or draw from your experience to improve an existing article. You can start small or large... Join in at http://social.technet.microsoft.com/wiki/...(read more)

    Read the article

  • From Pocket to Instapaper

    - by Michael Freidgeim
    Some time ago I’ve described the issues that I’ve had since a new version of Read It Later, named Pocket, was introduced.I’ve waited with hope for a new upgrade, but I had a huge disappointment with the latest version 16 June 2012. It didn’t fixed any of the two major problems, that I  experienced since new Pocket was introduced-  1. iPad app still didn’t show many of the saved links. 2. ability to rename articles on iPad still wasn’t restored.I’ve posted the message into their forum. They did not show my comment on their forum( I would name it censorship, not moderation), but a few days ago I’ve received an email, recommending “try logging out of the app on your iPad, and back in again.” Their suggestion helped,  but I don’t understand, why it is not posted as a recommendation on their support site.So I decided to try InstAPaper on my iPad, Previously I’ve used it for Kindle. I never considered it before on iPad, because there were no free demo and I was very satisfied with RIL free and then RIL Pro. Currently InstAPaper cost $3, so the price is not an issue.I’ve checked that it has most of features that I am using(e.g. renaming, folders) and I am quite happy with it now. Actually I am using Pocket (or RIL free) for old bookmarks( I have 1000+ stored on my iPad) and for new bookmarks I am using InstAPaper.Having a solid experience with RIL/Pocket I’ve created a list of suggestions to Marco Arment to implement.1. Some pages stored in InstAPaper have removed essential sections of the text. E.g in many blogs comments are not stored in  InstAPaper. Some pages lost almost all of important links (e.g. http://www.lib.rus.ec/a/32416 -sorry, in Russian). RIL/Pocket has 2 modes to store offline- Web view and Article view. Web View includes all links/images of the original page, but it’s very reliable. Article view suppose to strip unrelated information, but often corrupts the content. I prefer to use offline Web view.InstAPaper should also support offline Web view, in case if stripped view removes important part of content.2.  Black full screen Saving on iPad Safari is very annoying. After user pressed a bookmark, the saving has some delay and then for a few seconds prevents from reading the text.Would be better to show as message on the top part(as in Pocket ). I am surprised, that  a full screen popup was  implemented recently as a desired feature. 3.There are no comments allowed on http://blog.instapaper.com/. I would prefer to post some of these notes as comments on http://blog.instapaper.com/ rather than write them in my blog and then send link to Marco.(I found recommendation how to add support of comments on tumblr at http://www.tumblr.com/help, but then realized that Marko was the lead developer ofTumblr.)4. Also there is no support forum. I understand that maintenance of the forum ican be a hassle, but stackexchange fSome time ago I’ve described the issues that I’ve had since a new version of Read It Later, named Pocket, was introduced.I’ve waited with hope for a new upgrade, but I had a huge disappointment with the latest version 16 June 2012. It didn’t fixed any of the two major problems, that I  experienced since new Pocket was introduced- orums can be referred on  http://www.instapaper.com/main/support page, i.e.http://webapps.stackexchange.com/search?q=Instapaper  or http://apple.stackexchange.com/search?q=Instapaper 5. Tags are more convenient than folders. i.e. an ability for the same article to have more than one tag. Also creating of new folders is not supported offline, which is an annoying limitation.6. I would like to have a narrow list - additionally to existing list modes have a subject only list or subject+site list to show more list items on a screen.7. Limit of 500 offline articles sounds quite big, but my RIL list exceeded 1000, so it could be a issue in the future.8. Search button on iPad version is visible, but doesn’t work- it forces to buy Premium subscription. I think, that it’s not correct. If the button in a paid version is visible and enabled, it should  provide  a working functionality, e.g. search in article names only. And leave full-text search for the premium support.9..Copy URL is an important operation and deserves to be in a first level of Action menu, rather than in Share sub-menu.I’ve also have comment re post http://www.marco.org/2011/04/28/removed-instapaper-free. Marco Arment  explained, why he doesn’t provide free version of Instapaper.  I believe that he is loosing essential part of his customers. When I decided which of iPad application to choose, I’ve selected RIL, because I was able to play with free version, and I liked it. I didn’t have a chance to compare RIL and InstAPaper on iPad, so I’ve bought  RIL pro. For a user there is no point to pay even $3 , if there are similar free product, that user can try and see, is it suitable for him/her.I’ve also played with Readability. It doesn’t have folders or tags(which is very important for me), but nicely supports full text search

    Read the article

  • How to unmount a virtual cd/dvd in Ubuntu 11.1o

    - by P J Reil
    I'm new to Ubuntu 11.10 and have absolutely no idea what I'm doing. I don't now how but in downloading and fooling around with a virtual cd/dvd program I seem to have inadvertently installed it. I had to shut down my computer for a while and when I re booted it all my files and my setup was gone. I have a brand new 11.10 setup with all the programs installed that I originally had but no files or bookmarks etc.. I'm not sure, but I think I'm running in a virtual cd/dvd. I don't know how to determine if I am or not and can't boot up in my original setup. Can anyone help me?

    Read the article

  • How do I query the gvfs metadata for a specific attribute?

    - by Mathieu Comandon
    A nice feature in evince is that when you close the program and later reopen the same pdf, it automatically jumps to the page you were reading. The problem I have is that I often read ebooks on several computers and I have to find were I was on the last computer I was reading the pdf. I think syncing these bookmarks in UbuntuOne would be a killer feature for people like me who read pdfs on different computers. By investigating a bit, I found where evince was storing this data, it's in the gvfs metadata and it can be accessed for a particular document by typing gvfs-ls -a "metadata::evince::page" myEbook.pdf Rather that querying a particular file, I'd like to query the whole metadata file (located in ~/.local/share/gvfs-metadata/home for the home directory) for any file where this particular attribute is set to some value. The biggest issue is that gvfs metadata and stored in binary files and we all know it's not easy to get something out of a binary file. So, do you know any way to query the gvfs metadata for some attribute?

    Read the article

  • Are you &ldquo;completely&rdquo; connected with us?

    - by divya.malik
    In the early 1960’s Marshall McLuhan said that the world is gearing towards electronic interdependence and called this new social organization a “global village”. Well, today that global village has become the social village. We are all connecting with each other more and more every single day, across the globe. And, social media is playing a role greater than ever before. To keep up with the changing trends, and to engage more with our customers and community, our CRM Marketing team decided to adopt social media a year and a half ago. We are now all active bloggers, facebookers, and tweeters. This is a great way for you to interact with us, send us your suggestions, questions and comments. You can also get the latest content about CRM at Oracle directly through these channels. Connect with us today!!! CRM Press/Blogger Bookmarks | Twitter | Facebook | YouTube | Netvibes

    Read the article

  • Is there a keyboard shortcut to toggle Tree view / Places View?

    - by zinzolin
    I find both the Tree view and the Places view useful. Changing from one view to the other is not fast because one have to go into the appearance menu. It's even slower with Oneiric because this menu can now be far away. (Before Unity, I always had the tree view on and I used my bookmarks directly from the Places menu. That was fine) Is there a keyboard shortcut to toggle from one view to the other? Or is it possible to create one oneself? Thanks a lot the help !

    Read the article

  • How can menu bars that require a right click be activated?

    - by Amos Annoy
    I've noticed that NetworkManager only has a single, left or right, click menu and no longer has an About menu option to show it's splash screen. In fact all the top bar mini short cut icons have been amputated and crippled leaving them with no rights. This severely impacts on our custom aps., similar to FireFox bookmarks, which can no longer be right clicked to bring up a context menu. It is possible to disengage FF's File|Edit|... menu bar from the top by running it in safe-mode so the menu bar is resident in a window, restoring right clicks, but our aps. do not have "safe modes". How can right clicks in menu bars be restored? reference

    Read the article

  • Can only connect to file server on second attempt

    - by Ross Fleming
    I have a FreeNas file server on my local network and I usually connect to it from Windows and Ubuntu computers. Ever since I have upgraded from Ubuntu 12.04 to 12.10 Ubuntu will only connect after a second attempt. By which I mean, I will browse to it via the file manager and once I click on the link in "Bookmarks" it complains that it could not connect. If I then try again it connects successfully and will keep up it's connection until the laptop is suspended or looses connection to the LAN for whatever reason. This isn't much of a problem as I don't mind having to click twice but my real problem is that this means that my scheduled backup will complain that it cannot connect to the storage device if it has not already been accessed during the current session. If there is some way to either stop the issue all together or to force the backup tool (default) to immediately have a second attempt at connecting.

    Read the article

  • Does HTML5 have a feature that enables a user to add an icon to the Apps screen when "installing", and if not, when are they planning to add it?

    - by Jason Livesay
    I know that the mobile bookmark bubble might sort of work for iOS, but it isn't going in the same section. And for Android, bookmarking is really not going to cut it for a mobile HTML5 application install since users just don't think to go to their bookmarks and that bookmark process takes two or three steps. To me this issue of getting the application (bookmark) installed pretty much makes the rest of the HTML 5 features aimed at mobile HTML much less useful. I can't realistically expect users to prefer the bookmark install and launch process over regular apps, so I can realistically expect them to ignore my mobile HTML5 application and use a native app. The groups behind mobile HTML 5 features do seem to be pushing for HTML 5 apps adoption with things like Application Cache etc. To me it seems obvious that the bookmark bubble is not going to cut it. Someone please tell me they have addressed this or at least are working on it?

    Read the article

  • GtkFileChooserButton 'Select Folder' mode returns no path

    - by user8592
    I have added a GtkFileChooserButton to my app via Glade. It is set to folder selection mode. When the widget is clicked it shows a dropdown list of Nautilus bookmarks with an 'other' option in the end. A new file chooser dialog is launched when 'other' is clicked. The button is not connected to any other custom file chooser dialog. The connecting signal I am using is 'file-set' and I am retrieving the fullpath of user selected folder using Gtk.FileChooser.get_current_folder (). This setup works fine if user selects a folder from 'other' option. But if a user selects a bookmark from dropdown list, no path is returned. How to solve this? Is there a way to disable this dropdown list and directly go to the filechooser dialog? I want to use GtkFileChooserButton only so that the user can get a preview of his selected folder.

    Read the article

  • How can menu bars that require a right click be activated like Ubuntu versions <10.10?

    - by Amos Annoy
    I've noticed that NetworkManager only has a single, left or right, click menu and no longer has an About menu option to show it's splash screen. In fact all the top bar mini short cut icons have been amputated and crippled leaving them with no rights. This severely impacts on our custom aps., similar to FireFox bookmarks, which can no longer be right clicked to bring up a context menu. It is possible to disengage FF's File|Edit|... menu bar from the top by running it in safe-mode so the menu bar is resident in a window, restoring right clicks, but our aps. do not have "safe modes". How can right clicks in menu bars be restored? reference

    Read the article

  • Migrate from Thunderbird to Mutt

    - by deshmukh
    I am contemplating moving from Thunderbird to Mutt (provided it is feasible) to move to a faster, simpler application. My current Thunderbird set-up consists of multiple IMAP accounts (gmail and google apps). Only selected folders (read labels) in each IMAP account are stored locally. For all other folders, I glance through the headers and open a message only if I find it interesting. I also use folder bookmarks to navigate to folders quickly. I also move messages across folders with keyboard shortcuts. Is it possible to replicate the set-up in Mutt? Can someone share/ point to a sample muttrc file that does the same thing? It would be great if the muttrc file is adequately commented. On a side note, will it also be possible to import my messages from Thunderbird locally? That will save me considerable network traffic (about 2GB data stored locally).

    Read the article

  • My Hard Disk Drive is not visible until I use it

    - by Matthew
    So, suddenly something went wrong. At the beggining of my Ubuntu usage it was all right, but from about 2-4 weeks I've got this problem: Whenever I try to reach my HDD, i have to open it first by files explorer. Example: I use text editor. Last file fails to load, so I got to open it manually. It's in bookmarked file. I want to reach my bookmark, which is on HDD(partition for both Ubuntu and Windows , NTFS). If i want to reach my bookmark, i have to go there manually(or at least to HDD, then bookmarks pops up). It also doesn't appear at my side bar until i use it. It kinda looks like it wasn't mounted till then, I don't know. It would be nice if I could deal with it, let's say, automatically. Thanks in advance.

    Read the article

  • Chrome keeps crashing after updates

    - by Phil
    I'm a chrome user and an enthusiast but few days ago I made Ubuntu get some updates using Update Manager, then I turned off my notebook and when I restarted it, I tried to start Chrome which after a few seconds turned the screen completely black, and some errors appeared for few seconds and then I got logged off, and had to re-login, and when I opened Chrome again the same thing happened! I've uninstalled it with Synaptic and did complete cleanings before re-installing Chrome but nothing succeeded. Now I can't use either Chromium and Chrome, but Firefox works. It's a very strange thing, never happened to me before and I don't know what to do because I had all my bookmarks syncronized in Chrome! Please help if you can :)

    Read the article

  • Distorted graphics, problems with starting up

    - by GreenEggsAndHam64
    Using the newest version of Ubuntu, freshly installed. NVIDIA GeForce GTX 560 Ti. It's mostly the font that doesn't render well, I think. Small logos do it too, sometimes. Screenshot to clarify (see bookmarks, search bar, etc.). EDIT: Another screenshot. And, sometimes when I start up, I get only a black screen saying [OK]. I can move my mouse around, but nothing helps, except for restarting. Also, my desktop picture doesn't stay the same. Every time I start up Ubuntu it goes back to the standard purple background. They're not very serious problems, but it's all a little annoying. Thanks in advance for your help.

    Read the article

  • Is there a COMPLETE tutorial for upgrading for dummies?

    - by Windwood Trader
    I have tried upgrading in the past with zero success doing a backup of stuff and futilely attempting to enter my stuff into the new version. My email accounts and folders, my bookmarks and web browser info and of course my photos. In the past I have received messages that the back up files were done using version XXX and cannot be read by the new system, as an example. I need a hand-holding tutorial to go from 11.04 to 12.10. What are the actual step by step mechanics? Frustrated Non-Geek

    Read the article

  • Remove "computer" and "network" categories from Nautilus sidebar (ubuntu 12.04 running Cinnamon 1.4)

    - by utnubu_user
    I am wondering if it is possibly to completely remove the "computer" and "network" categories from Nautilus sidebar. I would like to do this because the locations that fall under them cannot be edited and I don't use those. Instead, I prefer to specify my own locations which I can do through the Bookmarks. This is all fine, but the "computer" and "network" just sit there doing nothing (potentially distracting). It seems these categories are hardcoded in Nautilus 3.4.2? At least I can't find a way to remove them. Any suggestions are welcomed.

    Read the article

  • Web 2.0 for the SOA Partner Community - part 2: twitter &amp; wiki &amp; delicious

    - by Jürgen Kress
    Web 2.0 Twitter & Videos & Delicious We launched some additional web 2.0 features – make sure you will use them to promote your services and offerings! Twitter: http://twitter.com/soacommunity Become a follower of our community! If you want us the re-tweet hashtag your tweets with #soacommunity or send them to us @soacommunity Videos http://wiki.oracle.com/videos You want to promote your Videos? Want so share how you install SOA Suite 11g our your SOA experience? At wiki.oracle.com we created a collections: SOA & Oracle Partner Network... Make sure that you add your videos Delicious: http://delicious.com/soacommunity tag your bookmarks with "soacommunity" and we will add this bookmark automatically to the soa community list!

    Read the article

  • Mozilla réinvente les marque-pages et dévoile ses projets pour rendre les Favoris plus utilisables

    Mozilla réinvente les marque-pages et dévoile ses projets pour rendre les Favoris plus utilisables Dans ses efforts pour rendre le Web meilleur, Mozilla vient de dévoiler l'un de ses nouveaux projets. Baptisé Mozaic, le projet introduit une nouvelle façon d'afficher les marque-pages. Pour rappel, les marque-pages (ou Bookmarks en anglais) ont longtemps été disponibles comme fonctionnalité des navigateurs. Ce sont des raccourcis personnalisables pour les pages Web que l'internaute visite le plus souvent. Les marque-pages n'ont pas évolué depuis longtemps dans le navigateur Firefox. Chris Lee, un designer d'interaction et développeur travaillant pour l'équipe...

    Read the article

  • Will there be data loss for upgrade?

    - by Tim
    I am planning to upgrade from 8.10 to 10.04. But I am wondering if there will be data loss during the upgrade? For example: Will the application that I have installed on 8.10 still be there after upgrade? Will the settings of the applications such as the bookmarks for Firefox and for Google Chrome be preserved? Will all the personal files under my home directory be preserved? Any other things I need to know for the upgrade? Thanks and regards!

    Read the article

  • Settings messed up after crash

    - by ChocoDeveloper
    After an abrupt shutdown many settings were messed up: #1 Firefox was a mess. Bookmarks were gone, and I couldn't even add new ones. I had to reset firefox from safe mode and install all my addons and configure everything. This was a pain but is now solved. #2 The background in the login screen shows the one I chose with Ubuntu Tweak for a second, and then it puts back the default one. I tried changing it again with Ubuntu Tweak but it's still happening. #3 All my shortcuts in the sidebar were replaced by the default ones. I re-added them manually, also a pain. So how can I solve 2? And in case this happens again, is there a way to fix everything easy and fast?

    Read the article

  • Kindle App Available for WP7!

    - by D'Arcy Lussier
    It’s finally here: the Kindle app for Windows Phone 7! Finally we can have our books on the go as well! It’s not sitting atop the “new” list on the WP7 marketplace though. I had to go to the Books section of the marketplace, and there its set to the top spot of free apps. I’m going to read the next chapter in my current book on it to see what the experience is like. After playing quickly with it, here’s some observations: - You flip pages going left to right, not up and down. No setting to change this if you don’t like it. - Good options for changing font size, background colour, and setting bookmarks. - *No* option for highlighting though. However, previous highlights do show up and you can review notes made in other programs Still, for a free Kindle reader and the ability to catch up on books wherever on the phone, so far so good!

    Read the article

  • How can I show contextual ads after a user filtered page contents by keyword?

    - by lex82
    I am building a social bookmarking service that is monetized in part by Google Adsense. However, I don't know how to influence how the ads are displayed. I think Google scans my pages and decides itself which ads to show where. Navigation on my site is mainly based on the selection of categories or tags being provided by the users. So after a user filters a list of bookmarks by the tag "SEO", I think I know pretty well what he is looking for. So I am looking for a service that allows me to show contextual ads for these particular keywords. How I can guide Google to show relevant ads? Can you recommend an alternative ad network, that gives me more control?

    Read the article

  • Beware Sneaky Reads with Unique Indexes

    - by Paul White NZ
    A few days ago, Sandra Mueller (twitter | blog) asked a question using twitter’s #sqlhelp hash tag: “Might SQL Server retrieve (out-of-row) LOB data from a table, even if the column isn’t referenced in the query?” Leaving aside trivial cases (like selecting a computed column that does reference the LOB data), one might be tempted to say that no, SQL Server does not read data you haven’t asked for.  In general, that’s quite correct; however there are cases where SQL Server might sneakily retrieve a LOB column… Example Table Here’s a T-SQL script to create that table and populate it with 1,000 rows: CREATE TABLE dbo.LOBtest ( pk INTEGER IDENTITY NOT NULL, some_value INTEGER NULL, lob_data VARCHAR(MAX) NULL, another_column CHAR(5) NULL, CONSTRAINT [PK dbo.LOBtest pk] PRIMARY KEY CLUSTERED (pk ASC) ); GO DECLARE @Data VARCHAR(MAX); SET @Data = REPLICATE(CONVERT(VARCHAR(MAX), 'x'), 65540);   WITH Numbers (n) AS ( SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 0)) FROM master.sys.columns C1, master.sys.columns C2 ) INSERT LOBtest WITH (TABLOCKX) ( some_value, lob_data ) SELECT TOP (1000) N.n, @Data FROM Numbers N WHERE N.n <= 1000; Test 1: A Simple Update Let’s run a query to subtract one from every value in the some_value column: UPDATE dbo.LOBtest WITH (TABLOCKX) SET some_value = some_value - 1; As you might expect, modifying this integer column in 1,000 rows doesn’t take very long, or use many resources.  The STATITICS IO and TIME output shows a total of 9 logical reads, and 25ms elapsed time.  The query plan is also very simple: Looking at the Clustered Index Scan, we can see that SQL Server only retrieves the pk and some_value columns during the scan: The pk column is needed by the Clustered Index Update operator to uniquely identify the row that is being changed.  The some_value column is used by the Compute Scalar to calculate the new value.  (In case you are wondering what the Top operator is for, it is used to enforce SET ROWCOUNT). Test 2: Simple Update with an Index Now let’s create a nonclustered index keyed on the some_value column, with lob_data as an included column: CREATE NONCLUSTERED INDEX [IX dbo.LOBtest some_value (lob_data)] ON dbo.LOBtest (some_value) INCLUDE ( lob_data ) WITH ( FILLFACTOR = 100, MAXDOP = 1, SORT_IN_TEMPDB = ON ); This is not a useful index for our simple update query; imagine that someone else created it for a different purpose.  Let’s run our update query again: UPDATE dbo.LOBtest WITH (TABLOCKX) SET some_value = some_value - 1; We find that it now requires 4,014 logical reads and the elapsed query time has increased to around 100ms.  The extra logical reads (4 per row) are an expected consequence of maintaining the nonclustered index. The query plan is very similar to before (click to enlarge): The Clustered Index Update operator picks up the extra work of maintaining the nonclustered index. The new Compute Scalar operators detect whether the value in the some_value column has actually been changed by the update.  SQL Server may be able to skip maintaining the nonclustered index if the value hasn’t changed (see my previous post on non-updating updates for details).  Our simple query does change the value of some_data in every row, so this optimization doesn’t add any value in this specific case. The output list of columns from the Clustered Index Scan hasn’t changed from the one shown previously: SQL Server still just reads the pk and some_data columns.  Cool. Overall then, adding the nonclustered index hasn’t had any startling effects, and the LOB column data still isn’t being read from the table.  Let’s see what happens if we make the nonclustered index unique. Test 3: Simple Update with a Unique Index Here’s the script to create a new unique index, and drop the old one: CREATE UNIQUE NONCLUSTERED INDEX [UQ dbo.LOBtest some_value (lob_data)] ON dbo.LOBtest (some_value) INCLUDE ( lob_data ) WITH ( FILLFACTOR = 100, MAXDOP = 1, SORT_IN_TEMPDB = ON ); GO DROP INDEX [IX dbo.LOBtest some_value (lob_data)] ON dbo.LOBtest; Remember that SQL Server only enforces uniqueness on index keys (the some_data column).  The lob_data column is simply stored at the leaf-level of the non-clustered index.  With that in mind, we might expect this change to make very little difference.  Let’s see: UPDATE dbo.LOBtest WITH (TABLOCKX) SET some_value = some_value - 1; Whoa!  Now look at the elapsed time and logical reads: Scan count 1, logical reads 2016, physical reads 0, read-ahead reads 0, lob logical reads 36015, lob physical reads 0, lob read-ahead reads 15992.   CPU time = 172 ms, elapsed time = 16172 ms. Even with all the data and index pages in memory, the query took over 16 seconds to update just 1,000 rows, performing over 52,000 LOB logical reads (nearly 16,000 of those using read-ahead). Why on earth is SQL Server reading LOB data in a query that only updates a single integer column? The Query Plan The query plan for test 3 looks a bit more complex than before: In fact, the bottom level is exactly the same as we saw with the non-unique index.  The top level has heaps of new stuff though, which I’ll come to in a moment. You might be expecting to find that the Clustered Index Scan is now reading the lob_data column (for some reason).  After all, we need to explain where all the LOB logical reads are coming from.  Sadly, when we look at the properties of the Clustered Index Scan, we see exactly the same as before: SQL Server is still only reading the pk and some_value columns – so what’s doing the LOB reads? Updates that Sneakily Read Data We have to go as far as the Clustered Index Update operator before we see LOB data in the output list: [Expr1020] is a bit flag added by an earlier Compute Scalar.  It is set true if the some_value column has not been changed (part of the non-updating updates optimization I mentioned earlier). The Clustered Index Update operator adds two new columns: the lob_data column, and some_value_OLD.  The some_value_OLD column, as the name suggests, is the pre-update value of the some_value column.  At this point, the clustered index has already been updated with the new value, but we haven’t touched the nonclustered index yet. An interesting observation here is that the Clustered Index Update operator can read a column into the data flow as part of its update operation.  SQL Server could have read the LOB data as part of the initial Clustered Index Scan, but that would mean carrying the data through all the operations that occur prior to the Clustered Index Update.  The server knows it will have to go back to the clustered index row to update it, so it delays reading the LOB data until then.  Sneaky! Why the LOB Data Is Needed This is all very interesting (I hope), but why is SQL Server reading the LOB data?  For that matter, why does it need to pass the pre-update value of the some_value column out of the Clustered Index Update? The answer relates to the top row of the query plan for test 3.  I’ll reproduce it here for convenience: Notice that this is a wide (per-index) update plan.  SQL Server used a narrow (per-row) update plan in test 2, where the Clustered Index Update took care of maintaining the nonclustered index too.  I’ll talk more about this difference shortly. The Split/Sort/Collapse combination is an optimization, which aims to make per-index update plans more efficient.  It does this by breaking each update into a delete/insert pair, reordering the operations, removing any redundant operations, and finally applying the net effect of all the changes to the nonclustered index. Imagine we had a unique index which currently holds three rows with the values 1, 2, and 3.  If we run a query that adds 1 to each row value, we would end up with values 2, 3, and 4.  The net effect of all the changes is the same as if we simply deleted the value 1, and added a new value 4. By applying net changes, SQL Server can also avoid false unique-key violations.  If we tried to immediately update the value 1 to a 2, it would conflict with the existing value 2 (which would soon be updated to 3 of course) and the query would fail.  You might argue that SQL Server could avoid the uniqueness violation by starting with the highest value (3) and working down.  That’s fine, but it’s not possible to generalize this logic to work with every possible update query. SQL Server has to use a wide update plan if it sees any risk of false uniqueness violations.  It’s worth noting that the logic SQL Server uses to detect whether these violations are possible has definite limits.  As a result, you will often receive a wide update plan, even when you can see that no violations are possible. Another benefit of this optimization is that it includes a sort on the index key as part of its work.  Processing the index changes in index key order promotes sequential I/O against the nonclustered index. A side-effect of all this is that the net changes might include one or more inserts.  In order to insert a new row in the index, SQL Server obviously needs all the columns – the key column and the included LOB column.  This is the reason SQL Server reads the LOB data as part of the Clustered Index Update. In addition, the some_value_OLD column is required by the Split operator (it turns updates into delete/insert pairs).  In order to generate the correct index key delete operation, it needs the old key value. The irony is that in this case the Split/Sort/Collapse optimization is anything but.  Reading all that LOB data is extremely expensive, so it is sad that the current version of SQL Server has no way to avoid it. Finally, for completeness, I should mention that the Filter operator is there to filter out the non-updating updates. Beating the Set-Based Update with a Cursor One situation where SQL Server can see that false unique-key violations aren’t possible is where it can guarantee that only one row is being updated.  Armed with this knowledge, we can write a cursor (or the WHILE-loop equivalent) that updates one row at a time, and so avoids reading the LOB data: SET NOCOUNT ON; SET STATISTICS XML, IO, TIME OFF;   DECLARE @PK INTEGER, @StartTime DATETIME; SET @StartTime = GETUTCDATE();   DECLARE curUpdate CURSOR LOCAL FORWARD_ONLY KEYSET SCROLL_LOCKS FOR SELECT L.pk FROM LOBtest L ORDER BY L.pk ASC;   OPEN curUpdate;   WHILE (1 = 1) BEGIN FETCH NEXT FROM curUpdate INTO @PK;   IF @@FETCH_STATUS = -1 BREAK; IF @@FETCH_STATUS = -2 CONTINUE;   UPDATE dbo.LOBtest SET some_value = some_value - 1 WHERE CURRENT OF curUpdate; END;   CLOSE curUpdate; DEALLOCATE curUpdate;   SELECT DATEDIFF(MILLISECOND, @StartTime, GETUTCDATE()); That completes the update in 1280 milliseconds (remember test 3 took over 16 seconds!) I used the WHERE CURRENT OF syntax there and a KEYSET cursor, just for the fun of it.  One could just as well use a WHERE clause that specified the primary key value instead. Clustered Indexes A clustered index is the ultimate index with included columns: all non-key columns are included columns in a clustered index.  Let’s re-create the test table and data with an updatable primary key, and without any non-clustered indexes: IF OBJECT_ID(N'dbo.LOBtest', N'U') IS NOT NULL DROP TABLE dbo.LOBtest; GO CREATE TABLE dbo.LOBtest ( pk INTEGER NOT NULL, some_value INTEGER NULL, lob_data VARCHAR(MAX) NULL, another_column CHAR(5) NULL, CONSTRAINT [PK dbo.LOBtest pk] PRIMARY KEY CLUSTERED (pk ASC) ); GO DECLARE @Data VARCHAR(MAX); SET @Data = REPLICATE(CONVERT(VARCHAR(MAX), 'x'), 65540);   WITH Numbers (n) AS ( SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 0)) FROM master.sys.columns C1, master.sys.columns C2 ) INSERT LOBtest WITH (TABLOCKX) ( pk, some_value, lob_data ) SELECT TOP (1000) N.n, N.n, @Data FROM Numbers N WHERE N.n <= 1000; Now here’s a query to modify the cluster keys: UPDATE dbo.LOBtest SET pk = pk + 1; The query plan is: As you can see, the Split/Sort/Collapse optimization is present, and we also gain an Eager Table Spool, for Halloween protection.  In addition, SQL Server now has no choice but to read the LOB data in the Clustered Index Scan: The performance is not great, as you might expect (even though there is no non-clustered index to maintain): Table 'LOBtest'. Scan count 1, logical reads 2011, physical reads 0, read-ahead reads 0, lob logical reads 36015, lob physical reads 0, lob read-ahead reads 15992.   Table 'Worktable'. Scan count 1, logical reads 2040, physical reads 0, read-ahead reads 0, lob logical reads 34000, lob physical reads 0, lob read-ahead reads 8000.   SQL Server Execution Times: CPU time = 483 ms, elapsed time = 17884 ms. Notice how the LOB data is read twice: once from the Clustered Index Scan, and again from the work table in tempdb used by the Eager Spool. If you try the same test with a non-unique clustered index (rather than a primary key), you’ll get a much more efficient plan that just passes the cluster key (including uniqueifier) around (no LOB data or other non-key columns): A unique non-clustered index (on a heap) works well too: Both those queries complete in a few tens of milliseconds, with no LOB reads, and just a few thousand logical reads.  (In fact the heap is rather more efficient). There are lots more fun combinations to try that I don’t have space for here. Final Thoughts The behaviour shown in this post is not limited to LOB data by any means.  If the conditions are met, any unique index that has included columns can produce similar behaviour – something to bear in mind when adding large INCLUDE columns to achieve covering queries, perhaps. Paul White Email: [email protected] Twitter: @PaulWhiteNZ

    Read the article

  • Lotus Notes 8.5 Grouping Senders

    - by Nicole
    Is it possible to group by sender in your inbox? I spend too much time looking for specific mail from individuals. I would like to be able to collapse all the incoming mail from 1 person then expand it again when new mail arrives.

    Read the article

< Previous Page | 15 16 17 18 19 20 21 22 23 24 25 26  | Next Page >