Subject: eCigs threaten anti-smoking lobby

From: Government Regulation to Vaporize eCigs? <[email-masked]>
Date: Fri, 16 May 2014 09:19:25 -0700

Journal of Human Health
Report Posted - May 16, 2014
==============================

Will our Government Regulation Vaporize the eCigarette Market?
Heres why:

1) tobacco industry pays 46 states 10 bill annually (1998 Master Settlement Agreement)
2) Federal Government makes about 43 bill from taxes on cigs

* This is why 30 states are currently considering excise taxes on eCigs.

See if your state is included >> http://www.wovenen.com/nation/eCig/incentive/package.html

What it boils down to is that the government brings in so much revenue from cigarette tax, 
and it is a matter of time before the  of eCigs go up as well or even worse bans eCigs from the market.

Whether you've already switched to eCigs, or are planning on quitting in the future (like 70% of smokers are)
Get your eCigs below before the government makes them apart of the past.

Claim package here >> http://www.wovenen.com/nation/eCig/incentive/package.html

_Urgent Info Reports_

to modify message status w/ (Urgent Info Services) 
write - 3205 Lake Sarah
Independence, MN 55359 -- http://www.wovenen.com/sj3or/bjmo45.gjnvo4
 show to user
 When data is stored on disk based storage devices, it is stored as blocks of data. These blocks are accessed in their entirety, making them the atomic disk access operation. Disk blocks are structured in much the same way as linked lists; both contain a section for data, a pointer to the location of the next node (or block), and both need not be stored contiguously.

 Due to the fact that a number of records can only be sorted on one field, we can state that searching on a field that isnt sorted requires a Linear Search which requires N/2 block accesses (on average), where N is the number of blocks that the table spans. If that field is a non-key field (i.e. doesnt contain unique entries) then the entire table space must be searched at N block accesses.

 Whereas with a sorted field, a Binary Search may be used, this has log2 N block accesses. Also since the data is sorted given a non-key field, the rest of the table doesnt need to be searched for duplicate values, once a higher value is found. Thus the performance increase is substantial.

 What is indexing?

 Indexing is a way of sorting a number of records on multiple fields. Creating an index on a field in a table creates another data structure which holds the field value, and pointer to the record it relates to. This index structure is then sorted, allowing Binary Searches to be performed on it.

 The downside to indexing is that these indexes require additional space on the disk, since the indexes are stored together in a table using the MyISAM engine, this file can quickly reach the size limits of the underlying file system if many fields within the same table are indexed.Given our sample database of r = 5,000,000 records of a fixed size giving a record length of R = 204 bytes and they are stored in a table using the MyISAM engine which is using the default block size B = 1,024 bytes. The blocking factor of the table would be bfr = (B/R) = 1024/204 = 5 records per disk block. The total number of blocks required to hold the table is N = (r/bfr) = 5000000/5 = 1,000,000 blocks.

A linear search on the id field would require an average of N/2 = 500,000 block accesses to find a value given that the id field is a key field. But since the id field is also sorted a binary search can be conducted requiring an average of log2 1000000 = 19.93 = 20 block accesses. Instantly we can see this is a drastic improvement.

Now the firstName field is neither sorted, so a binary search is impossible, nor are the values unique, and thus the table will require searching to the end for an exact N = 1,000,000 block accesses. It is this situation that indexing aims to correct.
Awesom explanation I have one important question. If I have a non-unique field that is not sorted, and if the cardinality of the field is 2, would the index table of this field have just 2 rows? If yes, would there be multiple pointers for each of these 2 rows pointing to all the rows that have this value? If no, would the index table have as many rows as there are for this field in the original table?   Abhishek Shivkumar Aug 4 '12 at 10:42
2	  	
@CHAPa: He has already explained it but since you didn't get it yet here is a detailed explanation. Example: Worst Case: Total records=20 & I'm searching 20th element. In Linear search no. of comparisons=N. But there can also be other cases, like say you are searching for 4th element, so that will take only 4 comparisons Best Case: finding 1st element, bingo you get it right at the first shot To compare algorithms you cannot assume best case/worst case,you need average case. Avg case is element you want is sitting in the middle-how many comparisons would you make to reach the middle? N/2.   Saurabh Patil Jul 8 '13 at 4:02
1	  	
@AbhishekShivkumar:Great questionI think the index table will have as many rows as there are in the data table. And as this field will have only 2 values(boolean with true/false) & say you want a record with value true,then you can only halve the result set in first pass, in second pass all your records have value true so there is no basis to differentiate,now you have to search the data table in linear fashion-hence he said cardinality should be considered while deciding the indexed column. In this case,it's worthless to index on such a column. Hope I'm corr
Given that an index record contains only the indexed field and a pointer to the original record, it stands to reason that it will be smaller than the multi-field record that it points to. So the index itself requires fewer disk blocks that the original table, which therefore requires fewer block accesses to iterate through. The schema for an index on the firstName field is outlined below;Given that creating an index requires additional disk space (277,778 blocks extra from the above example), and that too many indexes can cause issues arising from the file systems size limits, careful thought must be used to select the correct fields to index.

Since indexes are only used to speed up the searching for a matching field within the records, it stands to reason that indexing fields used only for output would be simply a waste of disk space and processing time when doing an insert or delete operation, and thus should be avoided. Also given the nature of a binary search, the cardinality or uniqueness of the data is important. Indexing on a field with a cardinality of 2 would split the data in half, whereas a cardinality of 1,000 would return approximately 1,000 records. With such a low cardinality the effectiveness is reduced to a linear sort, and the query optimizer will avoid using the index if the cardinality is less than 30% of the record number, effectively making the index a waste of space.works fine with Informix and, I would expect, all the DBMS. (Once upon 5 or more years ago, this is the sort of thing that MySQL did not always support; it now has decent support for this sort of standard SQL syntax and, AFAIK, it would w
 ork OK on this notation.) The column list is optional but indicates the target columns in sequence, so the first column of the result of the SELECT will go into the first listed column, etc. In the absence of the column list, the first column of the result of the SELECT goes into the first column of the target table.