Best For Performance
It's a web application, accessed via internet, with around 100.000 clients and
each client have around 10 users. This web app have a database of around
100 tables.
Ok, the question is: Is it better to have each client with it's own catalog on
the database (each catalog with around 100 tables) or is it better to use one
catalog for all the clients (the tables would have a lot more records this way,
but only one catalog)?
I'm considering performance.
View Complete Forum Thread with Replies
Related Forum Messages:
Large Table Performance Problem With MYSQL Performance
I am doing some benchmarking of an application using MYSQL under Windows and I confused about the results. Environment Emachine 6417 with amd3200+ 64 bit processor 3.3GB ram mysql 4.1 with odbc 3.51 MYISAM windows 2003 server std edition date, account and invoice number are indexed Database size 18 million rows I am querying (selecting) columns of a date and an account our tester program that opens a socket to the Mysql database and does a select for the above n times each time the date and the account is randomized to minimize hits on records closeby. This program will perform over 1000 queries per second. At the end, the Mysql socket will be closed Even when the socket is closed each time, I still get 400 queries per second. When I enter a similar query manually a web interface, I get about 3-9 second response time. This program opens/closes a socket for each query when using EMS I get similar 9 second results. Does anyone have any suggestions Also in production, this table will be accesse for both read and write will I have problems. My testing showed that Innodb is much slower.
View Replies !
IO Performance
I'm running a 5.0.51a mysql server on pentium M. My application is made of 30 myisam tables written every 2 seconds and a very few reads (1 evry hour) from the whole table. Each table is a kind of circular buffer (fixed number of line, current line). Each line of a table contains a medium blob whith fixed size (about 70k). I know the average output (Kb/sec) from the client to th server, says 200 Kb/sec. When trying to measure this flow with 2 invocations of "show global status like '%Bytes%'; followed by division by the elapsed time, I find between 1 and 2 times more (400 Kb/s). When I measure the output to the disk with the iostat command (iostat -d -k 10) I find 4 times more (800 Kb/s) and a lot of read Kb/s (100 kB/s). Is this normal or is there some tunning to do ? During this time, the iowait rate is very high (30%). Is this normal or is there some tunning to do ?
View Replies !
Which Is Better In Performance
country (id) country (1) America (2) Germany (3) Canada (4) China (5) Egypt (6) Russia (7) Korea (8) France (9) Brazil city (id) city (1) Berlin (2) New York (3) Cairo (4) Paris (5) Seoul (6) Peking (7) Chicago (8) Moscow (9) Denver I have two tables like the above. And I have one of these tables below. message1 (id) (city) message (1) (2) I love New York. (2) (5) Kumkang mountains are beautiful. (3) (4) I was born in France. (4) (6) Great Wall is great. (5) (7) Chicago is a big city. message2 (id) (city) (country) message (1) (2) (1) I love New York. (2) (5) (7) Kumkang mountains are beautiful. (3) (4) (8) I was born in France. (4) (6) (4) Great Wall is great. (5) (7) (1) Chicago is a big city. code1 select city, country from message1 left join city on city.id=message1.city left join country on country.id=city.country code2 select city, country from message2 left join city on city.id=message2.city left join ccountry on country.id=message2.country I think The codes above have a same result.(sorry, I didn't test it.)
View Replies !
Performance Of LIKE
I'm weighing the performance of materialised path vs. nested set algorithms, for storing a tree structure. The tree will have a lot of searches, a fair amount of inserts, but probably fairly few move-operations. The decisive factor seems to be the speed of a LIKE-query. I know, that regular expressions perform pretty well, as long as they are anchored. From this, I deduct, that LIKE must be able to perform equally good, since a path is indeed anchored. The questions is, if a LIKE will always result in a full scan, or if it can utilise indices? If it doesn't allow use of indices, would it be worth it, to use an equality comparison, on a substring (Which is essentially, what I'll be querying for) or am I just entirely missing the point?
View Replies !
Innodb Performance (CPU, RAM)?
I have a table with approx. 150,000,000 ++ rows. It should be approx 80 byte for each row. Now I'm planning to use it with mysql/innodb. Can you guys suggest anything about this. I have many questions... Can Innodb work well with such tables? Will queries (select/update) be slow? What hardware do you suggest, cpu/ram?
View Replies !
Balance Performance
My computer is AMD athlon 64 3400+ with 1.5G DDR. when i execute the following sql in mysql 5.XX. select c.filename, c.topic from articles c where c.topic in (select a.topic from articles a group by a.topic having count(a.topic)>1) order by topic; It eat up all the cpu power , and the mysql server stop responsing until end of this query. Even my apache stop responing too. How to fix this? How can i set the CPU limit of each query connection?
View Replies !
Performance MySQL With ADO VB
I'm developing an VB application which uses the SAX parser and ADO VB to insert.update data in in MySQL. The perormance is very bad. If I use the same data and insert/update to a MS Access database it takes 14 minutes. But using MySQL it takes about 5 hours! Here's the piece of code which takes the most time. Does anyone have an explanation for this? Code:
View Replies !
MySQL Performance
We ran MySQL (4.0.15-standard, 64-bit, SuSe 8.0) benchmarks on 2 CPU and 4 CPU Opteron machines. Mostly we tested insertion times with many simultaneous connections (hundreds). To our surprise we did not find significant differences.Each of our servers (2 and 4 CPU machine) has one 1Gbit network connection. I have feelings that the machines are the network bounded, not the CPU bounded. Could it be true? How to verify it?
View Replies !
Mysqlcheck Performance
I launch the command line: "mysqlcheck --repair dbname" over a database with only one myisam table of more than 10.000.000 rows and 5 GB. The elapsed time to repair is about 1 hour! Is possible to increase speed?
View Replies !
Low Performance With Linux SMP
I use #mysql -V mysql Ver 12.21 Distrib 4.0.15, for suse linux (i686) with a SMP-kernel When I used this version with a kernel not SMP mysql was very very fast but now with the SMP-kernel the mysql is very very slow. I takes several minutes to make an INSERT on a table with near 50.000 Records Is there any problem with mysql an SMP? is a problem of the version I have installed?
View Replies !
Slow Performance
On my index.php page, I have a simple query that checks the session_id against a table where I store other session_id'. If it's not there, it records it (unique hit). If it's there, it doesn't record it (not a unique hit.) This usually goes off without a hitch, and every month or so I empty the table. Right now I only have about 2500 rows, and it's taking forever to load the page. Is there something possibly server related that could be causing this? My host charges an arm and a leg just to see if there's something wrong if I bring up an issue, so I'd like some insight as to whether there's a commonly known server-side issue that can bog down performance.
View Replies !
Performance Needed
I have two tables. One for products and one for reviews. I have setup a detail page which displays the various fields out of the products table and then looks for all reviews in the reviews table which match the products key and display the average. All good so far. I want to have a page which displays a whole list of the products and show their rating next to them but I'm wondering if making it search the reviews table and calculate the average for 50 products in one go is going to cause a bit of a strain on the server? Is there another way I can do this, perhaps storing the precalculated average in the products table but how would I go about doing that?
View Replies !
How To Check Performance?
I have a web application which uses MySQL and I wanted to check out the performance of the database. I have been trying to use JMeter to test the performance of it but I was wondering if there is anything MySQL specific which can give me statistics on performance etc.
View Replies !
SELECT WHERE Performance On LIKE Vs =
I have a table: CREATE TABLE file (id VARCHAR(10) PRIMARY KEY, image MEDIUMBLOB); The table is filled with 4073 rows with images of 50-100k each. When I do a SELECT query using a WHERE-clause I get a huge difference in time before the result is delivered: SELECT image FROM file WHERE id=1234567801; 1 row in set (3.73 sec) SELECT image FROM file WHERE id LIKE 1234567801; 1 row in set (0.02 sec) Why is this difference in times?
View Replies !
(View) Performance
I have a huge table with product data from different shops in my database. There is a flag column 'import' witch flagt products with 1 for my PHP script. To select from one shop all product individually, work with it, and then update these product import flag to 0 in the database, seems to be the slowest way. I thougt about a view about all products of a shop with flag '1'. Code:
View Replies !
Performance (speed)
I have implemented a simple web crawler which uses a mySQL database to save a list of URLs to crawl. Obviously I dont wish to crawl the same URL twice so before adding a URL to the database I search the database first to ensure it hasn't already been added. When I add URLs to the database it is usually done it batches of 150 URLs, this is the process I use to search for an existing URL: I use a PreparedStatement called 'findUrlStatement' which consists of: SELECT Url FROM urlTable WHERE Url = ? Then I use this code to determine if a URL is already in he database: findUrlStatement.setString(1, url); ResultSet urlFound = findUrlStatement.executeQuery(); if (!urlFound.next()) { // The URL is NEW, so add it to the database } As you can see the above routine is repeated for each of the 150 URLs. This typically takes anything from 4-8 seconds to complete.
View Replies !
SET Datatype Performance
I have a “little” performance problem using the SET datatype. I have a database with over 800,000 rows which have 34 columns which are enum(‘0’,’1’) to describe various categories. So when I search for a certain category or categories the search would be like: Select count(id) from my_table where cat1=’1’ and cat10=’1’ and cat25=’1’; If cat1 is indexed and cat10 is not. Select count(id) from my_table where cat=’1’; would return data in less than a sec while select count(id) from my_table where cat10=’1’ might take over 5-6 secs to return the value. Since I can’t index all 34 category columns, due limitations of how many indexes I can create (there are other fields that required index besides the categories) I looked into how to do this more efficiently. I came up with the idea if using the set datatype. I created a test table CREATE TABLE set_test( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, cats SET('cat1','cat2','cat3',……'cat34') ); I loaded it up with 800,000 values from my main table and searches like Select count(id) from set_test where cats&1; Would return the count in less than a second. So far so good. So I added a new column to the main database with the ‘cats’ column, containing the same info I had in the set_test table. To my surprise: Select count(id) from my_table where cats&1; Would take over 6 secs to return the value. Or course the table has 45 columns (including the old 34 category columns) instead of two, but does it really make that much of a difference? If so, what can I do to get a decent performance?
View Replies !
Performance Tips
I'm working with 5.0.29 and have a model with 35 tables. When I click a table for modification or move the element into de model my computer lost performance and WB take a while to respond (enought to desesperate in daily use). Have a tips page to check posible reasons or tips for a better performance?. My pc have a Intel dual CPU E210 2GHz and 2MB RAM, then I thinks that is enougth for run a normal program. Please send me tips. System info from MySQL WM MySQL Workbench OSS for Windows version 5.0.29 Cairo Version: 1.5.12 Rendering Mode: GDI Rendering OpenGL Driver Version: Not Detected OS: Windows XP CPU: 2x Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz, 2.0 GB RAM Video adapter info: Adapter type: NVIDIA GeForce 7300 GT Chip Type: GeForce 7300 GT BIOS String: Version 5.73.22.62.72 Video Memory: 262144 KB
View Replies !
Insert Performance
I'm looking for the fastest way to insert large data into one table with no indices. With the batch size of 5000 rows, test application in Java was doing MULTILINE inserts 5-10 times faster than anything else. My other considerations were plain inserts in a loop and PreparedStatement.executeBatch() which performed almost the same. I cannot go with INSERT DELAYED due to the nature of my application. I could not find any confirmation that multiline is truly the fastest one. Also very surprised that executeBatch and plain inserts in a loop are almost the same. MySQL engine: Community Server 5.1.31 win32 Application language: Java 1.6 Connector: Connector/J 5.1.6
View Replies !
Improving The Performance
Serve Spec: AMD 2000 RAM 1.5 GB Fedora 10 How can I modify my.cnf for a better performance. Current file looks like [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 # To allow mysqld to connect to a MySQL Cluster management daemon, uncomment # these lines and adjust the connectstring as needed. #ndbcluster #ndb-connectstring="nodeid=4;host=localhost:1186" [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [ndbd] # If you are running a MySQL Cluster storage daemon (ndbd) on this machine, # adjust its connection to the management daemon here. # Note: ndbd init script requires this to include nodeid! connect-string="nodeid=2;host=localhost:1186" [ndb_mgm] # connection string for MySQL Cluster management tool connect-string="host=localhost:1186"
View Replies !
Performance Enhancements
I'm a relative newbie to MySQL, my main role is network admin/management, we have a bespoke database system, that has been designed for us, it unfortunately has a fairly bulky FoxPro (C++) front end on it and within our local network runs fine, and even externally to our VPN based offices, the performance is also very good - what I would like to know, is what can i do to ensure superb performance all of the time, what monitoring tools can i use, and what resources are out there to further enhance it's stability and speed... Also, are there any other good resources people may know of to actually convert this client/server based application to Web Based, i am a web developer in my spare time and work time, and as such have developed one or two database driven web applications....I feel that moving to a solution such as this could provide unparalleled expansion capability, whilst further enhancing the speed and stability of the application...
View Replies !
Performance Of Views
I have a large table in a database that takes a long time to do any queries on. All user queries on this table are done as part of a background process at the moment. The table holds transaction information from organisation and account id's; each organisation may have more than one account id. This table contains the raw transaction data, so there are many 1000's of records for each id. The table is keyed on customer number, which is different from organisation id and one customer number may have more than one organisation id. Code:
View Replies !
Performance Vs Many Records
I currently have 300 records in table "metrics". These metrics are assigned to users. So each user has access to the 300 metrics. by default, my SQL will load all 300 on a page for the user. I am now wanting the users to be able to say which they want to appear. So, out of the 300 they can tick the ones they want to see. What's the best way of doing this? I have thought about having a table called metrics_to_user which would store the user ID and a whole list of the metrics they choose. By default, every user would then need 300 records in this table? then they untick ones they dont want to see. Or another way is just to store just the ones they DONT want to see. So when I am loading the page, I do some SQL to get all 300, but somehow forget the ones they dont want.
View Replies !
Performance Issue
Im running mysql4.0.13 on FrreBSD 5.1-release. The problem is MySQL is using 95% of the cpu leaving 0% idle and pushing the load avg up to > 1. This is the output of mysqladmin processlist.. $ mysqladmin -uroot -p processlist; Enter password: +--------+------+-----------+----+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +--------+------+-----------+----+---------+------+-------+------------------+ | 387980 | root | localhost | | Query | 0 | | show processlist | +--------+------+-----------+----+---------+------+-------+------------------+ $ uptime 8:51PM up 82 days, 5:18, 2 users, load averages: 1.03, 1.07, 1.23 I normally would expect a slow query or a table that requires optimisation, but without any hints from the processlist, where can i start looking?
View Replies !
Performance - Select *
I'm trying to optimize an application, which is putting way too much load on the rdbms. Currently most queries select *, but I'm wondering how much it matters in terms of performance to specify the exact number of columns needed ? Obviously, I'd transfer less data from rdbms to application layer, but apart from that is there anything to archieve ?
View Replies !
Performance Troubles
I'm having some trouble with optimising my database queries. I've recently been making use of a feature that my host provides that lets me create reports on any queries that are taking more than 1 second to generate. Quite honestly I'm not sure if it could be the table structure, indexing issues or just the overall query that's horribly coded. I've attached the query report from the server in a post attachment. As you can see I like using my inner joins, hehe. Here are the table rows, in case you're wondering how big tables are relative to each other: archive - 428,720 rows blo - 3,741 rows users - 3,945 rows It might be useful information. So yeah, basically what can I do, if anything, to get these queries to move along. Points would be awesome. :-)
View Replies !
Performance When Using Sub-selects
i'm using a mysql select that has a sub select in it, something like this: Code: SELECT *, (SELECT * FROM other_table) AS other_column FROM my_table; i've never needed to do anything like this before so i'm a little curious about performance. do queries like this cause a significant performance?
View Replies !
Replication Performance
I am currently testing replication on mysql 5.0.9 running on Win XP Pro on 2 servers , one as a master , and another as slave , basic master-slave configuration. The slave have 2.5 GigaB of RAM,300GB SATA2 HD & on Intel 2.4ghz Core Duo and the master have 1 GigaB of RAM,200GB SATA HD & on Intel 2.0ghz Core Duo , which means the master server not as powerful as the slave server. Is it OK ? Which one requires more processing load , the master or the slave ? and why if you could explain (or at least provide the link)...
View Replies !
Problem With MYSQL Performance With ASP.NET
Large table performance problem with MYSQL performance with ASP.NET I am doing some benchmarking of an application using MYSQL under Windows and I confused about the results. Environment Emachine 6417 with amd3200+ 64 bit processor 3.3GB ram mysql 4.1 with odbc 3.51 MYISAM windows 2003 server std edition date, account and invoice number are indexed Database size 18 million rows I am querying (selecting) columns of a date and an account our tester program that opens a socket to the Mysql database and does a select for the above n times each time the date and the account is randomized to minimize hits on records closeby. This program will perform over 1000 queries per second. At the end, the Mysql socket will be closed When I enter a similar query manually a web interface, I get about 3 second response time. This program opens/closes a socket for each query Does anyone have any suggestions Your assistance would be greatly appreciated Also in production, this table will be accesse for both read and write will I have problems. My testing showed that Innodb is much slower.
View Replies !
MySQL Performance Question..
I'm running a server with a Pentium 133 w/32meg ram, 512 pipeline burst, with a wd 512MB HD and I want to store George Bush in our MySQL database. As far as table definitions are concerned, should I use a BLOB or should I store him on disk and make a reference to the physical location in the MySQL table instead? Will I run into any performance/storage issues when querying this data?
View Replies !
Performance :: Number Of Columns
have a table where misc data are stored. Right now this table has about 30 columns, but for sure it will be more in the near future. So I wonder how the big number (50-100) of table's columns affect for MySQL DB performance. Maybe it's better to create more tables rather than more table's columns ?
View Replies !
MySQL Tables Performance
I have a table where misc data are stored. Right now this table has about 30 columns, but for sure it will be more in the near future. So I wonder how the big number (50-100) of table's columns affect for MySQL DB performance. Maybe it's better to create more tables rather than more table's columns ??
View Replies !
Basic Performance Question
If I have a database with some tables that are very rarely accessed, do the data on the these tables effect performance of the database.. What I mean is if I have 99 tables with many records and columns that are rarely accessed does this effect the one table that is accessed frequently, or does the data just remain on the disk until the tables are accessed..
View Replies !
Optimizing MySQL For Performance
I am going to be running mySQL on a RAID5 array and am wondering if I need to worry about splitting up the data and log files on to seperate channels on the RAID array. I have heard differing arguments. Some people say that you can install SQL on the same logial drive as long as you are running RAID5 and not worry about performance issues. Others say that you need to split everything up even if you are running RAID5. Do I need to split it up in to 2 channels and 2 logical drives or is one drive OK?
View Replies !
Images Of Performance Charts?
I've been putting together a talk and would like to include some charts that demonstrate various performance measures like query speeds for tables with primary keys vs. those without and number of joins between tables, etc. I've search on the web for these but I only find charts showing how much better MySQL is than Access type graphs. While I would rather use MySQL than Access, I'm looking for more general comparisons regardless of database.
View Replies !
Performance On Database Locked
We are having a tough time tracking down a problem with my MySQL database. The version is 3.23.58 running as the backend for Request Tracker (rt2) by Best Practical. Occasionally (once every 3-4 days) all running queries on the table will be "locked". We use MySQL for a number of different purposes, and I can normally nail the problem down to a specific slow query, but that is not the case here. I cannot find any running queries at all. All connections are either in "Sleep" or "Locked". Has anyone else ever seen this? Is there a way I can determine which query is locking the others? Based on the time field from "SHOW FULL PROCESSLIST" I can tell which query has been locked the longest, and attampts to kill it never succeed. I am hesitant to upgrade to the 4.0 series until I have exhausted all other possibilities. We have had difficulty in the past with migrating internal apps to 4.0, so I am not sure I want to dig upgrade for an app we aren't familiar with (rt2). For completeness, you should know all tables are MyISAM and when I view the processlist, I am logged in to MySQL as root.
View Replies !
Analysis MySQL Performance
What is the best way to analayse the performance of an operational MySQL server? Are there any good stats programs out there that show more than the variabels listed by MySQL (And phpMyAdmin)? Are there any good tutorials about what figures to be alert for, and what should be ignored?In particular I'm facing a number of connections issue and need to isolate what is causing so many connections, and why so many stay in sleep mode.Database amostly use PEAR to connect to MySQL, are there any common pitfalls with PEAR and numerours connections?
View Replies !
Innodb Performance/reliability
I'm looking for some articles/posts about people using the innodb engine for large transactional sites. I want to port some of our Oracle dbs to mysql using this engine to save some serious cash, but can't find some real world examples. I've read Jeremy Zawodny's high performance MySQL book and am pretty excited about this product. I just need to convince some higher ups if the innodb engine can handle it.
View Replies !
MySQL Performance Monitor
Wanting to do some performance testing of MySQL on my Windows 2003 Server, and was wondering if there was anyway to setup some basic MySQL performance counters to monitor and log in perfmon? Things like queries per second, connections, traffic, etc? Doesn't have to be a permon counter, just something that can log usage values to a CSV at one second intervals
View Replies !
Server Performance Slow
I have designed a service on my site which requires about 30 -40 SQL queries per page to run. Everything works without problems apart from the slowness. The page will load very quickly until it gets to the first query, then it pauses..... and carries on slowly producing the results. (When I say slowly, I mean relative slow compared to the speed this forum loads for instance)All the other web apps with mySQL work without slowing down, but they don't take up as much resources. Even the VB board is very fast. I'm running a 2.8Ghz 1GB Win2003 server, so I doubt that is a problem. Is there a guide to optimizing mySQL server or a key "setting" I should be changing?
View Replies !
Performance Affected By Tables
I'm develloping a game which will have to store information about objects located in each square of a large grid. Since there can be many, or none, or a combination of different objects in any given square at a time, I figure I should create a table for each square on the grid containing the names of the objects in it. This may lead up to 1000-5000+ tables though, many of which could/will be empty, and I was wondering if that is the best approach I can take?
View Replies !
Replication Process Performance
Is there any performance hit on web application while replication process is going on. if, then how to increase the performance of replicating the data from master to slave while application accessing slave database. Actual Scenario: I am having MAS (MySQL database) as Master database(INNODb storage enginee) and SLA (MySQL database) as Slave database (MyISAM storage engine). Now if any records (even single record) comes into master than at the next second it has to reflect in the slave. My need IS: When replicating the data into slave, my web application should not slow down. Is there any way to acheive this task?
View Replies !
Combining Queries Bad For Performance?
Theoretically speaking, wouldn't combining queries have an adverse effect on performance due to less use of the query cache? For example, let's assume we have three tables: A, B, and C. Table C gets updated frequently while table A and B do not. Now is it not correct to conclude that.. A query, which SELECTS results from all three tables would have to execute in its entirety (ignoring query cache) every time table C gets updated. However, having three different queries in your code would register two query cache hits (table A & B queries) and only the table C query would execute often. The reason I ask is that I've been working to combine queries for better performance but now I'm thinking I should avoid complex queries which use multiple tables.
View Replies !
Performance :: Check Status
I have problems with mysql-performance. When I check "Status", there is written: 23% of all questions are "change db". What does it mean? Select Task are only 13%. Could this be the reason of performance problems?
View Replies !
Performance :: InnoDB Or MyISAM?
One of my customers runs MySQL. They encounter performance problems. It looks to be the storage, although they run on performant EMC storage (15000 rpm disks, RAID-1). I asked them how their MySQL is setup and they run MyISAM for nearly all tables, altough their application is typical OLTP. It is in my knowledge that you should use InnoDB for OLTP databases, or am I wrong. My customer told me that they did tests with MyISAM vs InnoDB and he told me MyISAM was more performant. Is that possible ? I can imagine that they never will have enough server memory to keep all tables of their 50GB database in memory. If there is not enough server memory to keep all tables in memory via MyISAM, what will happen ? Swapping, resulting in loads of extra I/O ?
View Replies !
Performance Improvement With Views?
If we have an option of using view to static assignment of options which one should we go for? Like if we have a combo box which is gonna have lets say 5 options then should we assign these options statically or should we store them in a view and then retrieve them dynamically each time someone clicks on the drop box.
View Replies !
|