Hash tables are the fastest way of storing and retrieving information, even over variables, which are faster than txt or ini files.
Regarding fields, in a manner of speaking they can be used, and hash tables can be searched
Unless a hash table is saved to your hard drive, if your computer gets rebooted, then you'll loose anything that was in the hash table, since the tables are stored in your computers RAM. This is why most scripts that use hash tables have sections like
on *:exit:{ .hsave <table> <file> }
on *:disconnect:{ .hsave <table> <file> }
Where <table> is the name of the hash table, and <file> is the name of the file that you want the table to be stored in.
I normally use a file that has the same name as the table and a .hsh extension
Regarding viewing a hash table, I personally like using
Hash Sandwich by Mr Foot Data is added to a hash table using the following command structure
/hadd -m <table> <item> <data>
<table> is the name of the hash table
<item> would be like the field
<data> is the information
Data in a hash table is not sorted by default, although there are ways of sorting it. If you have information stored in a hash table in an item, and go to add informtion with that same item, the old information gets overwritten (for lack of a better term)
There are a couple of Hash table tutorials on
http://www.mircscripts.org but I've not used them, so I don't know how good they are.
I strongly recommend reading the mIRC help file on Hash Tables, it's actually pretty good.
Hope this helps, and if you have any further questions, I'm quite sure that someone will be happy to try to answer them, but please note that the best answers come from being able to see a script/code that you've started or are working on, and where you have a specific question about how to do something or why something isn't working.