|
I agree with them who said that both Microsoft SQL Server and Oracle can do so.
When you decide for one of it, note that Oracle is more complicated. SQL Server will handle many things for you automatically - like autoincrement values for keys, while with Oracle you have to setup a sequence, and a trigger for linking your table to the sequence on the appropriate events. In .Net languages, an empty string is not null, but for Oracle there is no difference - and meanwhile I say: Oracle is right from the view point of requirements. But it may cause problems for the programmer. And there are several more such oddities.
|
|
|
|
|
Bernhard Hiller wrote: In .Net languages, an empty string is not null, but for Oracle there is no difference - and meanwhile I say: Oracle is right from the view point of requirements.
I think you'll find that a lot of people disagree with you on that one - including the ANSI SQL 1992 standard.
Of course, Oracle's weird behaviour pre-dates the standard, and can't be changed for backwards-compatibility reasons.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Richard Deeming wrote: Oracle's weird behaviour pre-dates the standard, and can't be changed for backwards-compatibility reasons. Could be fixed with a compatibility setting, just like on SQLServer.
I believe they won't do it because it's one of the things that gives them an upper hand on performance.
|
|
|
|
|
I know that, and in the past I thought that string.Empty and null must be different.
But look at a process before software: a user fills in a paper form. For a question he does not provide an answer. Is that null ("'answer' is not set to an object"), or did he answer with "string.Empty"?
And exactly that's the point why I agree with Oracle, though it causes pain in programming (and providing compatibility to a "wrongly-designed" Microsoft SQL Server database where string.Empty was allowed but not null... Yes, I had to experience that, and coursed about Oracle (and still do), but here they are right: if a column accepts string.Empty, that's equivalent to accepting null.
|
|
|
|
|
how much pain it will cause it to the developers doesn't matter, sir but which database works most efficiently which matters here. (So Oracle, SQL or something which is coming new)
|
|
|
|
|
Agent_Spock wrote: how much pain it will cause it to the developers doesn't matter Now there's an helpfull attitude; aren't they the ones who have to support your sh*t?
Oracle, MySql and Sql Server can handle large amounts of data. Program against the IDb* interfaces and speak SQL92 - download the trials and TEST it. Have some console-app generate 100 million records if that's the kind of data you expect.
Don't expect to be databinding them to a gridview, regardless of your database. As soon as you have the test-setup, you'll also experience it's speed. Next you'll be learning what an index is, and find that all three db-servers support them. Aw, and yes, the schema does matter.
..and do take in account that the budget is a constraint; if you can afford a harddisk and Sql Server, you could also afford MySQL and an SSD-drive. Hard to predict who'd be faster out of those two
Agent_Spock wrote: manipulate 100 million records which configures with c# win. form. Did you say "manipulate"? Didn't you mean "store"?
--edit;
http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems[^]
Hint: you'll need support for indexes, partitioning, and might want to take a look at both capabilities (do you need support for each type? each join?) and max. sizes of tables and database.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
modified 12-Feb-14 13:04pm.
|
|
|
|
|
yes, i mean store and search. As my work is little tricky it has to search through 100 million records every hour.
modified 14-Feb-14 6:46am.
|
|
|
|
|
You have to manipulate ALL of those 100 million records every hour?
Or is it just some, and then what percentage?
And what kind of reporting do you need to do? On how many records?
Fact is that it's not so important which DB you're having as long as you're just doing CRUD.
The size of the database is also not very important for the performance (Were talking about a factor of a couple of hundred times larger for every new level in an index, assuming B-Tree index).
It's the number of transactions! And how many records that are affected by the queries.
So the limiting factors will be the hardware (mostly the harddrives), the configuration of the hardware (It doesn't matter if the drives are fast if they're in a RAID5), and the indexes.
If you have no indexes at all, all inserts will be ridiculously fast, but querying or updating will be just as ridiculously slow.
Adding every index you can think about will make both inserts and updates ridiculously slow instead, while the queries will be faster.
Note that updates needs to both read and write.
Finding the right indexes will give you a good balance.
|
|
|
|
|
"Manipulate" 100 million records per hour?
Ask Amazon or Google to host your data.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
sir, in this context i used "manipulate" for "searching"
|
|
|
|
|
Then you are using the wrong terms. "Manipulate" means updating, inserting or deleting records. Reading doesn't manipulate the data, it fetches it. Selecting a few million should be doable, depending on the hardware and software-combination and the skillset of the dba.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
sorry, for all this.i have corrected my reply.
|
|
|
|
|
Databases are optimized to work with records; there will be a HUGE difference between searching records (select using a where) and searching a specific substring within a NTEXT field.
If you are going to search within the contents of the fiels, you'd be wanting a full-text search catalog. Again, supported by most major databases, but their speed may vary wildly.
Can you post a schema of the data that you'll be storing? Should I be thinking about simple data like measurements or prices? (lots o' fields with numbers) Or more toward text? (lots of short readable text-fields, like profiles), more toward memo's (single large textfield), or even documents (Word, PDF?)
In the case of documents I'd suggest to dump the files in the filesystem - and to use something like Google Desktop Search to search for specific terms.
Agent_Spock wrote: sorry, for all this Don't be; for someone who doesn't code all those things might sound roughly the same. Sorry for my short and blunt answers.
Live long and prosper
|
|
|
|
|
no sir, it consists of data which is converted into bytes.
|
|
|
|
|
Everything that a computer stores is encoded in bytes; images, text, applications - they're all stored as bytes. Hence, the remark that it's going to store bytes is not very helpfull. That way I'd assume a large binary blob, and "searching" to be a series of bytes.
Those bytes represent something; data, in whatever form. What "kind" of data you're going to store determines the best approach.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
no i am using it in such way that each record has max. 25 letters
|
|
|
|
|
Then your search terms are "Free Text Search" and the name of your database
It's described for SQL Server here[^], or you could google for Lucene.NET.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I have two table such as table1 and table2
using sql joining query i have fetched or shown some desired result
but for good looking i want to create some extra user defined columns, which i can't create...
Please help as early as possible...
|
|
|
|
|
Hi,
I'm not sure what are you trying to do... Maybe you could give some example?
|
|
|
|
|
In your query you include the calculation and give the result a name, it is then treated as a column in your result set.
Select Town, Region + ' ' + State as Place
from TableName
This will create a column called Place in your result set.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
First Create a new table with using select command and then you can fatch data from those tables. And after that you can add any column in new table.
|
|
|
|
|
I have a table named as depot_mstr having attributes, are the following---
regn,
depot_code,
depot_name,
city
I have also an another table as dealer_list having attributes, are the following---
depot_no,
depot_code,
dealer_name,
dealer_category
how i get the output as---
regn| depot_code| dealer_name| GC| SC| STA| OTH
where,
GC, SC, STA, OTH are the elements of dealer_category
|
|
|
|
|
Assuming you are using sql server:
SELECT regn, depot_code, dealer_name, GC, SC, STA, OTH
FROM
(SELECT regn, depot_mstr.depot_code, dealer_name, dealer_category FROM depot_mstr LEFT
JOIN dealer_list ON depot_mstr.depot_code = dealer_list.depot_code
) AS sourcetable
PIVOT
(
COUNT (dealer_category)
FOR dealer_category IN
(GC, SC, STA, OTH)
) AS pivottable
|
|
|
|
|
Please also send me the code as early as possible, if i solve it through function in sql server...
Thank u...
|
|
|
|
|
I can't find any case using in the query....!!!
|
|
|
|