About SQL CE and indexes - sql

i have a question that i hope someone can answer. I`m making a application that need a database and since the target of this application is the regular user i want to make it simple for the user so he does not have to think about installing databases and etc.
So i decided to use SQL CE but as i saw it does not support indexes. So my question is how big may the database become before it queries start taking alot of time. The application shoud make between 500 and 3000 new records a day in a single tabale and no more then 5-20 records in 2 other tables.
So for how long you guys think it is going to work good and when it shall start making problems. And if you have any idea of alternative aproach please let me know.
Thanks for all the help in advance!

SQL Server Compact supports both unique and non-unique indexes. What makes you think it does not?

Related

Tableau take forever to use a PostgreSQL view

I am trying to connect Tableau to a SQL view I made in PostgreSQL.
This view returns ~80k rows with 12 fields. On my local PostgreSQL database, it take 7 seconds to execute. But when I try to create a chart in a worksheet using this view, it take forever to display something (more than 2 minutes to add just a field).
This views in complex and involve many join, coalesce and case due to business specifities.
Do you guys have an idea to improve?
Thank you very much for your help ! :-)
Best,
Max
Tableau documentation has helpful info for performance optimization
https://help.tableau.com/current/pro/desktop/en-us/performance_tips.htm
I highly recommend the whitepaper on designing efficient dashboards mentioned on that site - a bit dated, but timeless advice
For starters, learn to use the Performance Recorder in Tableau to find out what tasks are causing delays, and if they involve queries, to capture the SQL that Tableau emits.
With Tableau, and many other client tools, the standard first approach is to see what SQL the client tool generates, then execute that SQL without using the client tool, say just in psql in your case. If you can reproduce the slow query just in SQL, then you are better positioned to either
Optimize your database, say either with indices, or restructuring your schema OR
Understand why your client tool, Tableau in this case, generated that inefficient query and reason about what you could differently in Tableau that would cause it to generate different SQL
The whitepaper I mentioned should be helpful

Building a map/flowchart to better understand a database

I am interested in creating a map of my database, so that I may understand it better. I am having difficulties understanding which tables relate to other tables, and I think a map, or flowchart would help me greatly. Has anyone done this? If so, how did you accomplish it?
You can try SQL Server Management Studio Express. Just right click on Database Diagrams and create a new diagram. You can select existing tables that you desire.
You can follow an excellent guide step by step here.
If you have Microsoft visio, that's a good software in creating a flowchart.
I use Lucid Chart (www.lucidchart.com) occasionally because we don't have Visio either. They offer a free account, which works pretty well, apart from the limit on the number of items you can put in one document (I want to say it's a limit of 60 entities).

SQL Server Back End, Front End?

Ok so this is my first question on this site so please bear with me.
My problem is that our company is currently changing from access to an SQL database back end and I was given the job to design a front-end for non programmer users to just pull pre-defined queries or build a query of their own by just selecting the fields they want (dynamic query).
What I want to know is what would be the simplest way to go about doing this due to the fact that I have a some programming background but I wouldn't say I'm an advanced programmer.
I've done some searching over the last couple days and came across things such as Ruby on Rails and phpMyAdmin however before I take on the task of learning how to program with these tools I want to know for sure if I am going in the right direction before wasting my time on a pointless endeavor.
I've seen similar questions even on this site however none truly gave the answer I was looking for; any help will be much appreciated.
Also would it be easier to make this web-based?

Mysql benchamrking GUI tool

Hi
I need to optimize an application which is already there for a long time. Optimization will include move inline queries from php pages to "stored procedures", get rid of sub queries and convert them to "joins" etc etc.
I guess the best way is to use benchmarking tools for this purpose, but is there any GUI based tool available which I could use with Windows 7? Please help!
Also moving the inline queries to stored procedures and getting rid of sub queries, will that help in a major performance boost? Please feel free to express your opinion.
The major focus is on finding a suitable tool for benchmarking purposes however. Just a quick question will "Mysql workbench" help in this scenario? Pls advise.
Many thanks for your time in advance. Any kind of help is much appreciated.
I do not know about the moving the inline queries to stored procedures. It really depends if you are going to use that query a lot or not. Switching from usign many queries to JOIN coudl be a major improvement in most cases, depends how much extra queries you were running initially.
As for benchmarking, well you can always use even phpMyAdmin to see how much time are takign certain queries and/or use a build in application benchmakring/profiling tool (even created from you PHP code) to bench the performance. This things usually do not have a straight and simple answer :(
Link with some suggestions http://beerpla.net/2008/04/16/mysql-conference-liveblogging-benchmarking-tools-wednesday-425pm/ maybe try WAST http://west-wind.com/presentations/webstress/webstress.htm
If you have a DB abstraction layer use it to log the performance of the queries and see if there are any that repeat too often or take too much time and also in which script they where called.

SQL 2005 Full-Text Catalog is randomly sloooowww

I've built a full-text catalog on a SQL 2005 box that, after it's re-build process completes, runs extremely slow. I've implemented a hack (i.e. try...catch{do again}) so that my users don't get a timeout error; this makes me feel bad inside. All subsequent queries are lightning fast.
Has anyone experienced this issue and was/is there a solution? Thanks!
P.S. Yes, I've Google'd it many times. Even with my left hand.
It could also be caused by this Sql Server 'feature' which we've experienced.
You may experience a 45-second delay when you run a full-text query in an instance of SQL Server 2005 that is running on a server without Internet access
http://support.microsoft.com/default.aspx/kb/915850
this might not be a direct answer to your question, but the full-text-search on mssql was covered on stackoverflow podcast series, and the conclusion was it's not the best thing :)
so, if you are able to change it to a 3rd party library, you may try what's used by jeff & co., the Apache Lucene library. Java version available at http://lucene.apache.org/java/docs/ , and .net port at http://incubator.apache.org/lucene.net/
i've had this as well. first hit very slow and rest are fast. tried all sorts and couldnt resolve it.
would love to know the answer to this one.
You could prevent having to fully rebuild the index by "setting start background updateindex" and "start change tracking" (there should be an underscore between each word) on each table that is full text indexed.
This allows sql server to update the index only with changes when required. It may help your issue since the index is not being rebuilt.
I second the Lucene.Net suggestion. I have previously tried to build a 'search engine' of sorts using Full Text Search and SQL. It was always problematic when the search criteria gets complicated and often queries would time out. On my new site I built the search engine with Lucene.Net project and it works really well and is much faster than SQL FTS.