When managing huge number of records, its often a huge time confusing task when selecting a certain set of random records to do some task on them like, deleting, deactivation, activation etc.

Filtering techniques to quickly get a filtered set and delete them is one of the way, but this provides a problem when selecting totally random records.

What are ways that can be implemented to speed such task? Lets say If I want to delete 10 random records from a list of 500 records in less than 10 seconds.

  • Perhaps you should be testing your users to see if they really want to be deleting 10 completely random records. Usually when your deleting records at the same time there will be something connecting them.
    – icc97
    Jan 27 '13 at 6:49

I think you are on the right track with the filtering techniques. A search bar could work too if it's relevant.

Once the results are filtered, there should be an option to select all(with the abilityto remove exceptions), and then delete.

  • Yes, but as I mentioned on the question, it becomes a problem when selecting random records from the tables.
    – Starx
    Jan 27 '13 at 9:50
  • If there was a certain way to group them, it wouldn't be called "random", would it? :)
    – Starx
    Jan 27 '13 at 10:50

Probably enabling a search on a unique key of the table is the quickest way of deleting individual records.

Gmail do a good job of handling fairly random data sorting of emails.

If filtering isn't what you're after you need to be looking at scannability of your tables. So from a google search on 'Scannable tables' this post from Forrst comes top:

enter image description here

You should think about keeping the table header always visible so as they scroll down the table they don't get lost in the columns.

This section from Jacob Nielsen is for scanning a web page of text - but you need to apply the same principles to the data in your tables:

  • Use meaningful rather than "cute" headings (i.e., reading a heading should tell the user what the page or section is about)
  • Use highlighting and emphasis to make important words catch the user's eye. Colored text can also be used for emphasis, and hypertext anchors stand out by virtue of being blue and underlined

So highlight the columns of unique keys on the table so that users can search for those more easily.

You could also make it faster to select rows by allowing selecting anywhere in the row to highlight it for deleting and having a hover effect over the whole row to give a better indication that the whole row can be selected.


Given that the records are unrelated we are left only with UX options that allow for faster selection of records, here i assume that there is not filter\ search option that is possible to give the required result set for the user. NOTE! Keep in mind that any search\filter option could be bounded with the set of solutions.

  1. Use check boxes of course - goes without saying that you should allow selection of multiple records using check-boxes.
  2. Range selection - use drag and drop to select a range of records, this will minimize the number of clicks required to select several rows that are linked to each other
  3. Select the row by click - Allow selection by clicking the row itself vs. clicking the check-box exactly, if possible in your case (there are not other clickable items in a row) this will allow the user to concentrate on the data item that he needs and selection the record without loosing context and going to the check-box at the right of the table.
  4. Select Multiple Ranges - This allows the user to use a key to say the he is about to select an additional range of rows and not a different range, similar to CTRL use in excel.
  5. Data import - Allow the user to upload a spreadsheet, csv that contains the required action, this will let the users use familiar tools e.g Excel or any other alternative and create a list of action to perform on the data in our application.
  • Great choices. Specially the Select the row by click is a great suggestion (+1)
    – Starx
    Jan 29 '13 at 2:30

When you say "random", do you mean that they are completely unrelated/assorted, or that they're arbitrary (doesn't matter which records get grabbed, just get X records)? If it's the latter, just a "Random Records" button with a random number generator on the backend should do the trick.

If it's the former, perhaps consider a fuzzy-search (similar to Sublime Text 2's Command Palette) with a tag-like interface? Here's what I'm thinking:

  • User starts typing into a search bar
  • Algorithm looks for any records that have at least one column matching the input (for instance, they could type "Alejandro" and anyone with the name Alejandro would pop up, or if they typed "Alejandro 18" it would pull up any Alejandro's that also have a data column containing the string "18" or the integer 18).
  • Matching records appear in a dropdown list, which can be navigated either by click or up/down arrows
  • User either clicks, or hits Enter to add a record to the list
  • Selected records are displayed in a tag-like format (with the primary data field (name, for example) and an X to the right for removing records from the list). Imagine adding tags to a post on many popular websites if you need help visualizing
  • When done, the user can go ahead and apply whatever CRUD operations they have in mind.

I'd recommend looking at this video for a good visual explanation of the "fuzzy search" I'm talking about.

  • I mean completely unrelated.
    – Starx
    Jan 27 '13 at 10:51
  • K, in that case I'd definitely go with the fuzzy search method. Properly implemented, they'd be able to find 10-15 records in a minute without having to do any tedious clicking. Jan 27 '13 at 10:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.