Home | Forums | Contact | Search | Syndication  
 
 [login] [create account]   Tuesday, April 30, 2024 
 
slxdeveloper.com Community Forums  
   
The Forums on slxdeveloper.com are now retired. The forum archive will remain available for the time being. Thank you for your participation on slxdeveloper.com!
 Administration Forums - Database Administration
Forum to discuss SQL Server or Oracle database administration related to SalesLogix databases. View the code of conduct for posting guidelines.
Forums RSS Feed


 Back to Forum List | Back to Database Administration | New ThreadView:  Search:  
 Author  Thread: Creating a new 1-to-1 table off the Account table
Marc Johnson
Posts: 252
 
Creating a new 1-to-1 table off the Account tableYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 26 Oct 06 12:55 PM
fiogf49gjkf0d
I have a project where I was going to hang a new table off the account table (1-to-1 relationship). I know this can be a performance issue sometimes but my BP suggested that in this case it may be really bad.

The table I'm wanting to add will have about 100 or so columns.

The data is directly related to particular accounts. Basically its industry specific data about the account. The users will not be able to edit this information.

My BP suggested making it a stand alone table and making the join on the fly when the account is pulled up. I'm not sure how I would do this. The table would still need the AccountID to link up to. Additionally this table is populated quartly with updated and new data. Without the 1-to-1 relationship with the account table how would the import know to add a new account record as well as creating my new table record?

I'm not worried about the import functions. That's all pretty much written but it was written to work with a table off the account table. So now I'm stumped and a bit spooked. Our performance sucks enough as it is. I don't want to make it worse.

Also I'm kinda dead in the water since I don't want to have to add this table multiple times (for testing or production) since it's so many data columns, each with specific data type.

Thoughts?

Marc
[Reply][Quote]
RJ Eaton
Posts: 234
 
Re: Creating a new 1-to-1 table off the Account tableYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 26 Oct 06 3:24 PM
fiogf49gjkf0d
What about indexing the AccountId on the new table.. Might help in the performance, I'd build it as a 1-1 if that is the data requirement and sounds like it is.
[Reply][Quote]
Frank Chaffin
Posts: 475
 
Re: Creating a new 1-to-1 table off the Account tableYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 27 Oct 06 8:55 AM
fiogf49gjkf0d
If the table is created 1-to-1 with the account table the accountid field in the new table will be automatically indexed.
[Reply][Quote]
Marc Johnson
Posts: 252
 
Re: Creating a new 1-to-1 table off the Account tableYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 27 Oct 06 12:18 PM
fiogf49gjkf0d
Frank,

Yea, I noticed that. I have created the table in my development environment. I'll test the performance issues in my test environment and hope for the best.
[Reply][Quote]
R.J. Snyder
Posts: 8
 
Re: Creating a new 1-to-1 table off the Account tableYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 27 Oct 06 12:33 PM
fiogf49gjkf0d
I'd be more concerned with byte size than with the number of fields. 100 long strings is a bigger impact than 100 booleans.

In the past I've added a 1-1 table to Account with 66 fields and 758 bytes. I didn't notice any particular performance hit, although we've only got around 5,500 accounts in the database.

Maybe I don't understand your point, but I don't see what the problem is with test and production versions. Create it once in test. When you're satisfied with it, create a bundle and add the bundle to production.

You've probably already addressed this, but just in case.... If performance is such a killer for you, check your hardware, both client and server. Anything over two years old could stand to be replaced. SalesLogix on the client is very piggy, especially for remote users who have SQL Server services as well. I got a huge boost in performance when I increased my client memory to 2 GB. If you have the option, SCSI drives with high RPM can make a big difference as well. Of course, your company's hardware upgrade policies may hamstring you on this.
[Reply][Quote]
John Gundrum
Posts: 632
Top 10 forum poster: 632 posts
 
Re: Creating a new 1-to-1 table off the Account tableYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 27 Oct 06 12:51 PM
fiogf49gjkf0d
The table I'm wanting to add will have about 100 or so columns.

The number of columns seems to be rather large. Your saying the data would only be updated quarterly. So this makes me think its just static. What is the source of data? Is there another way you could pull from the source instead of duplicating it into a really large table. Maybe you could this like attachments are done. Create a table with the accountid and a field with a link to the data source? This would save alot of duplication and make it easier to maintain IMHO.

John G.
[Reply][Quote]
Frank Chaffin
Posts: 475
 
Re: Creating a new 1-to-1 table off the Account tableYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 27 Oct 06 12:54 PM
fiogf49gjkf0d
You mentioned that you will have a 100 or so fields.
-Are these mostly numeric, date, and small text fields?
-How many of the account records will have some of these fields populated?

I have one client that tracks a lot of data in 3 different categories. Since most of the accounts only have data in one of the categories I broke it up into 3 tables so I did not have to drag all the fields along everytime. This made it easier for my client to find the fields for groups and reports. It also kept things more organized when we needed to add addition fields in one of the categories.
[Reply][Quote]
Marc Johnson
Posts: 252
 
Re: Creating a new 1-to-1 table off the Account tableYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 27 Oct 06 1:23 PM
fiogf49gjkf0d
I'll give you all some more background and detail. The data comes on CD quarterly from a data store. There are two separate files I have to import (in .DBF format). We use a scripted function inside SLX so the data will sync out.

Unfortunately the DB Manager doesn't tell me how many fields I created but the table size is 1792 bytes. If I were to guesstimate on the data types I'd say the break down is like so:

40% - Strings (length 20-30 average)
25% - Currency
20% - Float
10% - Long Int
5% - Other

There are about 120,000 Account records total. Of those only about 9000 will have this data associated with them.

The scripted import does more than just put data into this one table though. It'll create a new account if it cannot find one (based on a predefined key field). It'll also merge/create contact records for the account. Addresses are created from this data for the account and contacts as well.

The Account Detail screen will not (no plans anyway) display or work with any of this data. It'll all be in tab views.

I hope this helps clarify some questions.
[Reply][Quote]
Jeremy Brayton
Posts: 491
Top 10 forum poster: 491 posts
 
Re: Creating a new 1-to-1 table off the Account tableYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 27 Oct 06 1:44 PM
fiogf49gjkf0d
Don't quote these numbers because I'm going from memory.

Maximum number of columns in a table (SQL defined, not SLX): 1024
Maximum bytes per table: 8000

I'm relatively positive about the number of columns but the number of bytes may be off. I got the values from Mike Spragg on 2 separate ocassions, so maybe he'll touch the post with more accurate numbers.


We have Account, Contact, Opportunity, and Ticket "extended" 1-1 tables with custom fields. Before v7 let you customize the main tables themselves, this was how it was done aside from a relatively painless hack. It can be a challenge to remember the tables all the time but they are in no way some major performance drain, though I suppose they could become one easily.
[Reply][Quote]
Carla Tillman
Posts: 290
 
Re: Creating a new 1-to-1 table off the Account tableYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 30 Oct 06 10:38 AM
fiogf49gjkf0d
Marc,

There are a couple of other solutions, though they are pretty environment specific. These are not good options for every implementation, but large quarterly imports often fall into this narrow area.

Since this data itself is static and the users are not manipulating it; there is the possibility of summarizing your import data into a third, smaller table. Pull your tab views from that rather than the import table. You can also look at using views, which is nice for the dynamic attribute, but not as efficient as a summary table.

Another thing to consider; while this data is obviously important, how valuable is it compared to the overhead of a constant view? Is it an anaysis tool or absolutely integral to the account? If it be accessed infrequently or is being used for analysis - can consider using reports instead?

Carla
[Reply][Quote]
Marc Johnson
Posts: 252
 
Re: Creating a new 1-to-1 table off the Account tableYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 30 Oct 06 10:48 AM
fiogf49gjkf0d
Carla,

Thanks for the reply. The information cannot be easily summarized. I wish it could be. Additionally the information is used very heavily by the sales teams. They use it to determine a sales fit. Many companies use industry and company size to determine this. Our sales team uses this data to do the same. Industry and company size are irrelevant due to the fact that we sell to a specific industry (Banks). The number of employees is less important than the financial data imported.

Marc
[Reply][Quote]
Carla Tillman
Posts: 290
 
Re: Creating a new 1-to-1 table off the Account tableYour last visit to this thread was on 1/1/1970 12:00:00 AM
Posted: 30 Oct 06 10:56 AM
fiogf49gjkf0d
In that case, you still may want to consider using views (indexed as needed) to limit the volume (and improve the quality) of data accessed by your users. This can help improve performance issues if implemented conscientiously.


Carla

[Reply][Quote]
 Page 1 of 1 
  You can subscribe to receive a daily forum digest in your user profile. View the site code of conduct for posting guidelines.

   Forum RSS Feed - Subscribe to the forum RSS feed to keep on top of the latest forum activity!
 

 
 slxdeveloper.com is brought to you courtesy of Ryan Farley & Customer FX Corporation.
 This site, and all contents herein, are Copyright © 2024 Customer FX Corporation. The information and opinions expressed here are not endorsed by Sage Software.

code of conduct | Subscribe to the slxdeveloper.com Latest Article RSS feed
   
 
page cache (param): 4/30/2024 7:20:30 PM