1 Replies - 2416 Views - Last Post: 22 February 2012 - 01:02 PM

#1 theprofoundgeek  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 13
  • Joined: 22-October 09

Querying a huge database

Posted 22 February 2012 - 10:48 AM

I have a DNC (Do not call) database having around 160000000 records.

I am writing a open source dailer software for call centers. I would be provided with a list of phone numbers that are to be contacted. This list may vary from 500 records to 5000 records, which are to be matched with the entries in the database. If the match exists, then that number is not to be called.

Now looking at the number of records in the database, MySQL obviously cannot handle it. I can move to oracle if anyone can point me the way to ensure that this process of matching could be done efficiently. Plain query of select * from xyz where phone_number = 1234 will take quite some time and the response time will be inefficient.

Thanks guys! :)

Is This A Good Question/Topic? 0
  • +

Replies To: Querying a huge database

#2 e_i_pi  Icon User is offline

  • = -1
  • member icon

Reputation: 801
  • View blog
  • Posts: 1,700
  • Joined: 30-January 09

Re: Querying a huge database

Posted 22 February 2012 - 01:02 PM

It depends on how the data is stored, and how it is indexed. I'll assume you're using the North American Numbering Plan.

A setup like this:
    DNC
    PhoneNumber (varchar, PK)

...would be much slower than something like this...
    DNC
    ID (int, PK)
    AreaCode (int(3))
    CentralOfficeCode (int(3))
    SubscriberNumber (int(4))

...primarily because searching through int records is substiantially faster. You'll probably need to try some tests with indexes to see what works best for you. I imagine placing indexes on AreaCode and CentralOfficeCode would speed things up considerably.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1